当前位置:  编程技术>移动开发
本页文章导读:
    ▪代码搅混器的使用        代码混淆器的使用 proguard.config=proguard.cfg       -dontwarn -dontnote-keep public class net.youmi.android.AdView      常见问题处理:(来自网络) 原文:http://blog.csdn.net/aa4790139/article/details/6754230   第一种.........
    ▪ 一路面试题        一道面试题 本来是面试android,结果一个技术总监面试时提的问题。题目:  编写一个函数,输入参数为一个字符串,如“abc”,“abba”,“aba”,第二个和第三个为左右对称类型,第一.........
    ▪ 格局学习—活用RelativeLayout       布局学习—活用RelativeLayout 前言  Android布局中RelativeLayout非常灵活,之前项目使用很少,一般的例子用得都比较呆板。在学习中发现其大量采用了该布局,这里"帮"他分享一下一些经典.........

[1]代码搅混器的使用
    来源: 互联网  发布时间: 2014-02-18
代码混淆器的使用

proguard.config=proguard.cfg

 



 

 

-dontwarn
-dontnote
-keep public class net.youmi.android.AdView

 

 

 

常见问题处理:(来自网络)

原文:http://blog.csdn.net/aa4790139/article/details/6754230

 

第一种情况:
Proguard returned with error code 1. See console
Error: C:/Documents (系统找不到指定文件)
后来发现是因为将整个工程放到了桌面上,而桌面的目录是C:/Documents and Settings/Administrator/桌面,在这里面有空格,而proguard进行发编译的时候是

文件名中不允许有空格的
如果换了正确路径还不好用的话,直接删除proguard就好了

注意:SDK和程序路径最好不要有空格符

第二种情况:

Proguard returned with error code 1. See console
异常:

java.lang.ArrayIndexOutOfBoundsException

解决办法:将proguard.cfg中的"-dontpreverify"改成“-dontoptimize”

 

 

 

 

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9



 

 

 

 


    
[2] 一路面试题
    来源: 互联网  发布时间: 2014-02-18
一道面试题
本来是面试android,结果一个技术总监面试时提的问题。

题目:
  编写一个函数,输入参数为一个字符串,如“abc”,“abba”,“aba”,第二个和第三个为左右对称类型,第一个为不对称类型,函数返回输入参数的对称类型。

解答:
	public boolean judgement(String s){
    	int length=s.length();
    	if(length%2!=0){
    		s=s.substring(0, length/2)+s.substring(length/2+1);
    		length=s.length();
    	}
    	char[] c=s.toCharArray();
    	for(int i=0;i<length/2;i++){
    		if(c[i]!=c[length-i-1]){
    			return false;
    		}
    	}
    	return true;
	}


仅供参考。

    
[3] 格局学习—活用RelativeLayout
    来源: 互联网  发布时间: 2014-02-18
布局学习—活用RelativeLayout
前言

  Android布局中RelativeLayout非常灵活,之前项目使用很少,一般的例子用得都比较呆板。在学习中发现其大量采用了该布局,这里"帮"他分享一下一些经典的用法:)

声明

  欢迎转载,但请保留文章原始出处:)
    博客园:http://www.cnblogs.com
    农民伯伯: http://over140.cnblogs.com
系列
新浪微博布局学习——妙用TabHost
正文

  一、效果图

    格子布局效果:

    
(图一)

    居中正在加载的效果:


    (图二)


  二、实现代码

    2.1  实现 图一 效果代码


            <RelativeLayout android:id="@id/rlDigest"
                android:background="@drawable/panel_bg" android:layout_width="fill_parent"
                android:layout_height="100.0dip" android:layout_margin="10.0dip">
                <TextView android:textSize="16.0sp" android:textColor="#ff7d899d"
                    android:gravity="center_vertical" android:id="@id/tvAddress"
                    android:layout_width="wrap_content" android:layout_height="wrap_content"
                    android:layout_marginLeft="5.0dip" android:layout_marginTop="10.0dip"
                    android:text="@string/userinfo_address"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true" />
                <TextView android:textSize="16.0sp" android:textColor="#ff373737"
                    android:id="@id/tvAddress_content" android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:layout_marginLeft="10.0dip"
                    android:layout_toRightOf="@id/tvAddress" android:layout_alignTop="@id/tvAddress" />
                <View android:id="@id/vHDivider" android:background="@drawable/horizontal_separation_line_repeat"
                    android:layout_width="fill_parent" android:layout_height="1.0dip"
                    android:layout_centerVertical="true" />
                <TextView android:textSize="16.0sp" android:textColor="#ff7d899d"
                    android:gravity="center_vertical" android:id="@id/tvAccount_info"
                    android:layout_width="wrap_content" android:layout_height="wrap_content"
                    android:text="@string/account_info" android:layout_below="@id/vHDivider"
                    android:layout_alignLeft="@id/tvAddress"
                    android:layout_alignParentBottom="true" />
                <TextView android:textSize="16.0sp" android:textColor="#ff373737"
                    android:gravity="center_vertical" android:id="@id/tvAccount_info_content"
                    android:layout_width="wrap_content" android:layout_height="wrap_content"
                    android:layout_marginLeft="10.0dip" android:layout_marginBottom="12.0dip"
                    android:singleLine="true" android:layout_toRightOf="@id/tvAccount_info"
                    android:layout_alignBottom="@id/tvAccount_info" />
            </RelativeLayout>
            <RelativeLayout android:background="@drawable/panel_bg"
                android:layout_width="fill_parent" android:layout_height="130.0dip"
                android:layout_margin="10.0dip">
                <View android:id="@id/vVDivider1" android:background="@drawable/vertical_separation_line_repeat"
                    android:layout_width="1.0dip" android:layout_height="fill_parent"
                    android:layout_centerHorizontal="true" />
                <View android:id="@id/vHDivider2" android:background="@drawable/horizontal_separation_line_repeat"
                    android:layout_width="fill_parent" android:layout_height="1.0dip"
                    android:layout_centerVertical="true" />
                <RelativeLayout android:id="@id/llAttention"
                    android:background="@drawable/bg_panel_above_left"
                    android:clickable="true" android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:layout_toLeftOf="@id/vVDivider1"
                    android:layout_above="@id/vHDivider2"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true">
                    <TextView android:gravity="center" android:id="@id/tvAttention_count"
                        android:layout_width="fill_parent" android:layout_height="wrap_content"
                        android:layout_marginTop="10.0dip" android:text="0"
                        android:layout_centerHorizontal="true"
                        />
                    <TextView android:gravity="center" android:id="@id/tvAttention"
                        android:layout_width="fill_parent" android:layout_height="wrap_content"
                        android:text="@string/attention" android:layout_below="@id/tvAttention_count"
                        android:layout_centerHorizontal="true"
                        />
                </RelativeLayout>
                <LinearLayout android:orientation="vertical"
                    android:id="@id/rlWeibo" android:background="@drawable/bg_panel_above_right"
                    android:clickable="true" android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:layout_toRightOf="@id/vVDivider1"
                    android:layout_above="@id/vHDivider2"
                    android:layout_alignParentTop="true"
                    android:layout_alignParentRight="true">
                    <TextView android:gravity="center" android:layout_gravity="center_horizontal"
                        android:id="@id/tvWeibo_count" android:layout_width="fill_parent"
                        android:layout_height="wrap_content" android:layout_marginTop="10.0dip"
                        android:text="0" />
                    <TextView android:gravity="center" android:layout_gravity="center_horizontal"
                        android:id="@id/tvTopic" android:layout_width="fill_parent"
                        android:layout_height="wrap_content" android:text="@string/radio_button_topic"
                        />
                </LinearLayout>
                <LinearLayout android:orientation="vertical"
                    android:id="@id/llFans" android:background="@drawable/bg_panel_below_left"
                    android:clickable="true" android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:layout_toLeftOf="@id/vVDivider1"
                    android:layout_below="@id/vHDivider2"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentBottom="true">
                    <TextView android:gravity="center" android:layout_gravity="center_horizontal"
                        android:id="@id/tvFans_count" android:layout_width="fill_parent"
                        android:layout_height="wrap_content" android:layout_marginTop="10.0dip"
                        android:text="0" />
                    <TextView android:gravity="center" android:layout_gravity="center_horizontal"
                        android:id="@id/tvFans" android:layout_width="fill_parent"
                        android:layout_height="wrap_content" android:text="@string/fans"
                        />
                </LinearLayout>
                <LinearLayout android:orientation="vertical"
                    android:id="@id/llTopic" android:background="@drawable/bg_panel_below_right"
                    android:clickable="true" android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:layout_toRightOf="@id/vVDivider1"
                    android:layout_below="@id/vHDivider2"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentBottom="true">
                    <TextView android:gravity="center" android:layout_gravity="center_horizontal"
                        android:id="@id/tvTopic_count" android:layout_width="fill_parent"
                        android:layout_height="wrap_content" android:layout_marginTop="10.0dip"
                        android:text="0" />
                    <TextView android:gravity="center" android:layout_gravity="center_horizontal"
                        android:id="@id/tvTopic" android:layout_width="fill_parent"
                        android:layout_height="wrap_content" android:text="@string/his_topics"
                        />
                </LinearLayout>
            </RelativeLayout>
      代码说明:

        2.1.1  第一个RelativeLayout为图一上的实现代码。注意使用了一个View,也就是一条横线,令其居中布局;"地址:"的TextView通过layout_alignParentLeft和layout_alignParentTop令其在整个RelativeLayout顶左顶上;"账号信息:"的TextView通过layout_below令其位于横线下方,layout_alignLeft令其与"地址:"的TextView左边对齐,然后用layout_alignParentBottom让其居于容器底部。


        2.1.2  第二个RelativeLayout为图一下的实现代码。关键是vVDivider1和vVDivider2,与3.1.1类似,画出了一个十字架的布局,然后分别用居左、居上、居下、居右等方式实现了该布局效果。

    2.2  实现 图二 效果代码

    <RelativeLayout android:id="@+id/rlpb"
        android:layout_width="fill_parent" android:background="#ffeff0f4"
        android:visibility="gone" android:layout_height="fill_parent"
        android:layout_weight="1.0">
        <LinearLayout android:layout_centerInParent="true"
            android:layout_width="wrap_content" android:layout_height="wrap_content">
            <ProgressBar android:id="@+id/prb"
               
                android:layout_width="wrap_content" android:layout_height="wrap_content" />
            <TextView android:text="@string/loadinfo"
                android:layout_width="wrap_content" android:layout_height="wrap_content" />
        </LinearLayout>
    </RelativeLayout>
      代码说明:

        主要是layout_centerInParent属性的应用,令其居于RelativeLayout的中间。使用的时候领ListView先隐藏,然后让这个布局显示并填充,用完在设置Visible为GONE即可。


  三、总结

    熟练掌握以下重要属性,并灵活运用:

    android:layout_centerInParent   居中布局
    android:layout_centerVertical    水平居中布局
    android:layout_centerHorizontal  垂直居中布局


    android:layout_alignParentTop    居于容器内顶部
    android:layout_alignParentBottom  居于容器内底部
    android:layout_alignParentLeft    居于容器内左边
    android:layout_alignParentRight    居于容器内右边

    android:layout_above       居于指定View的上方
    android:layout_below       居于指定View的下方

    android:layout_toRightOf      在指定View的右边
    android:layout_toLeftOf        在指定View的左边

    android:layout_alignTop      与指定View的Top一致
    为了方便大家测试效果,文章末尾提供了资源下载,不足的资源请自行在APK中提取。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3