当前位置:  编程技术>移动开发
本页文章导读:
    ▪检测一上iteye网站首页性能指标 还不错        检测一下iteye网站首页性能指标 还不错 还不错 评分等级到达了B  最好的是A提示的几处问题 都不是大问题。。iteye给力噢。。 ......
    ▪ 搅混编译        混淆编译 1.加上ant编译功能。 android update project --name $ProjectName -t 3 -p $ProjectPath   此时会在项目根目录自动生成一个名为build.xml的ant脚本。 2.加入混淆 第一步在命令行中已经可以使用ant进.........
    ▪ 7.5 TableLayout格局详解       7.5 TableLayout布局详解 TableLayout表格布局,将子元素的位置分配到行或列中。TableLayout布局由许多的TableRow(行) 组成,它没有列的概念,列是由行中的控件数目决定的。TableLayout布局也是实.........

[1]检测一上iteye网站首页性能指标 还不错
    来源: 互联网  发布时间: 2014-02-18
检测一下iteye网站首页性能指标 还不错
还不错 评分等级到达了B  最好的是A
提示的几处问题 都不是大问题。。
iteye给力噢。。

    
[2] 搅混编译
    来源: 互联网  发布时间: 2014-02-18
混淆编译

1.加上ant编译功能。

android update project --name $ProjectName -t 3 -p $ProjectPath

  此时会在项目根目录自动生成一个名为build.xml的ant脚本。

2.加入混淆

第一步在命令行中已经可以使用ant进行编译了。因为Android中是这样的,在输入命令ant debug的时候会自动调用{${AndroidSDK}\tools\ant\main_rules.xml目录下的规则文件,所以无需自己写ant脚本了。既然它会调用默认的规则文件(默认文件没有加入混淆功能),那么我们想要混淆,直接在这个规则文件上修改就好了。在名为-dex的target加入一个target,代码如下:

<target name="optimize" depends="compile">

<jar basedir="${out.classes.absolute.dir}" destfile="temp.jar"/>

<java jar="${AndroidSDK}/tools/proguard/lib/proguard.jar" fork="true" failonerror="true">

<jvmarg value="-Dmaximum.inlined.code.length=32"/>

<arg value="-injars temp.jar"/>

<arg value="-outjars optimized.jar"/>

<arg value="-libraryjars '${android.jar}'"/>

<!-- <arg value="-libraryjars ${library-jar}/some_lib_used.jar"/> -->

<arg value="-dontpreverify"/>

<arg value="-dontoptimize"/>

<arg value="-dontusemixedcaseclassnames"/>

<arg value="-repackageclasses"/>

<arg value="-allowaccessmodification"/>

         <arg value="-keep public class * extends android.app.Activity"/>  

         <arg value="-keep public class * extends android.app.Service"/>  

         <arg value="-keep public class * extends android.content.BroadcastReceiver"/>  

         <arg value="-keep public class * extends android.content.ContentProvider"/>  

         <arg value="-keep public class * extends android.view.View"/> 

<arg value="-optimizationpasses 1"/>

<arg value="-verbose"/>

<arg value="-dontskipnonpubliclibraryclasses"/>

<arg value="-dontskipnonpubliclibraryclassmembers"/>

<arg value="-ignorewarning"/>

</java>

<delete file="temp.jar"/>

<delete dir="${out.classes.absolute.dir}"/>

<mkdir dir="${out.classes.absolute.dir}"/>

<unzip src="/blog_article/optimized.jar" dest="${out.classes.absolute.dir}"/>

<delete file="optimized.jar"/>

</target>

接着在名为-dex的target中进行一个混淆依赖:

<target name="-dex" depends="compile, optimize, -post-compile, -obfuscate"

            unless="do.not.compile">

        <if condition="${manifest.hasCode}">

            <then>

                <dex-helper />

            </then>

            <else>

                <echo>hasCode = false. Skipping...</echo>

            </else>

        </if>

</target>

 



    
[3] 7.5 TableLayout格局详解
    来源: 互联网  发布时间: 2014-02-18
7.5 TableLayout布局详解
TableLayout表格布局,将子元素的位置分配到行或列中。TableLayout布局由许多的TableRow(行) 组成,它没有列的概念,列是由行中的控件数目决定的。TableLayout布局也是实际中常用的布局方式。
TableLayout布局不会显示行、列 、单元格的边框线。TableLayout布局应用如图7-17所示。
 


图7-17 TableLayout1
TableLayout布局文件请参考代码清单7-20,完整代码请参考chapter7_5工程中tablelayout1.xml代码部分(chapter7_5/res/layout/tablelayout1.xml)。
【代码清单7-20】
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent" android:layout_height="match_parent">

	<TableRow>
		<TextView android:text="@string/row1_1" android:padding="3dip" />
		<TextView android:text="@string/row1_2" android:padding="3dip" />
		<TextView android:text="@string/row1_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row2_1" android:padding="3dip" />
		<TextView android:text="@string/row2_2" android:padding="3dip" />
		<TextView android:text="@string/row2_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row3_1" android:padding="3dip" />
		<TextView android:text="@string/row3_2" android:padding="3dip" />
		<TextView android:text="@string/row3_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row4_1" android:padding="3dip" />
		<TextView android:text="@string/row4_2" android:padding="3dip" />
		<TextView android:text="@string/row4_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row5_1" android:padding="3dip" />
		<TextView android:text="@string/row5_2" android:padding="3dip" />
		<TextView android:text="@string/row5_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row6_1" android:padding="3dip" />
		<TextView android:text="@string/row6_2" android:padding="3dip" />
		<TextView android:text="@string/row6_3" android:padding="3dip" />
	</TableRow>

</TableLayout>

下面再看一个合并单元格TableLayou布局应用图7-18所示。
 


图7-18 TableLayout2
TableLayout布局文件请参考代码清单7-21,完整代码请参考chapter7_5工程中tablelayout2.xml代码部分(chapter7_5/res/layout/tablelayout2.xml)。
【代码清单7-21】
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent" android:layout_height="match_parent"
	android:stretchColumns="0,1,2">
	<TableRow>
		<TextView android:text="@string/row1_1" android:padding="3dip" />
		<TextView android:text="@string/row1_2" android:padding="3dip" />
		<TextView android:text="row1_3" android:padding="3dip" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row2_1" android:padding="3dip" />
		<TextView android:text="@string/row2_2" android:padding="3dip"
			android:layout_span="2" android:background="#ff0060" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row3_1" android:padding="3dip" />
		<!-- android:layout_column="1" -->
		<TextView android:text="@string/row3_2" android:padding="3dip" />
		<TextView android:text="row3_3" android:padding="3dip" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row4_1" android:padding="3dip" />
		<TextView android:text="@string/row4_2" android:padding="3dip" />
		<TextView android:text="row4_3" android:padding="3dip" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row5_1" android:padding="3dip" />
		<TextView android:text="@string/row5_2" android:padding="3dip" />
		<TextView android:text="row5_3" android:padding="3dip" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row6_1" android:padding="3dip" />
		<TextView android:text="@string/row6_2" android:padding="3dip" />
		<TextView android:text="row6_3" android:padding="3dip" />
	</TableRow>
</TableLayout>

TableLayout标签内的android:stretchColumns="0,1,2"属性是第一列、第二列、第三列自动调节列宽。<TableRow>内的TextView控件中的属性android:layout_span="2"是合并一个单元格,如图7-18显示的粉色背景就是合并的单元格。
                                        出自《Android开发案例驱动教程》第七章

    
最新技术文章:
建站其它 iis7站长之家
▪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