您的位置:首页 > 移动开发 > Android开发

Android开发技巧汇总(持续更新····)

2011-04-21 13:02 405 查看
下面是我在工作中和平时的学习中总结的一些Android开发技巧,共享给大家,与大家共同学习,共同进步嘛。。。。

1.获取手机屏幕大小

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
//屏幕宽度
int widthPixels = dm.widthPixels;
//屏幕高度
int heightPixels = dm.heightPixels;


2.使用外部ttf格式文件设置TextView字体,通过setTypeface设置字体

TextView.setTypeface(Typeface.createFromAsset(getAssets(),
"fonts/ttf格式字体文件"));


注意:必须事先在项目的assets文件夹下创建fonts文件夹,并放入要使用的字体文件(ttf格式文件),还需要注意的是即便是用了不支持的字体,Android也不会报错,而是以Droid Sans默认字体代替。

3.如何求两个整数的百分比

int currentindex = 55;
int totalcount = 66;
NumberFormat nf = NumberFormat.getPercentInstance();
final String persent = nf.format(((float)currentindex/(float)totalcount));


4.Android单元测试的步骤

Step1:向AndroidManifest.xml文件添加以下标签元素

<uses-library android:name="android.test.runner" />


位于<application>元素体内

<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="测试类包名" android:label="Tests for My App" />


与<application>元素并列

Step2:新建单元测试类,必须继承AndroidTestCase,此外测试类中的测试方法需要以"test"+"待测试方法的名称"(比如testSendData测试的就是sendData方法)

Step3:方法要throws Throwable异常,Throwable是Exception的父类,单元测试框架捕获Throwable。

Step4:调用测试,在Outline面板或方法名上右键—Run AS—Android Junit Test。

Step5:查看打印信息,可以事先使用Log类中的方法来打印信息(用法参见Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)的用法),打开 LogCat面板,在这个面板中我们可以看到Android输出的所有信息。

5.判断是否有SDCard存在并获取目录

File file = null;
// 判断SDCard是否存在
String status = Environment.getExternalStorageState();
boolean isSDCardExist = status.equals(Environment.MEDIA_MOUNTED);
//如果存在则获取SDCard目录
if(isSDCardExist){
file = Environment.getExternalStorageDirectory();
}


6.layout_gravity和gravity的区别

gravity 重心的意思,这里表示重心偏向。类似于Word中的左对齐,居中对齐,右对齐的概念。
android:gravity是对元件本身说的,表示元件本身所有的文本或图片在这个元件上的显示位置,默认是左对齐。
android:layout_gravity是相对于它的父元件来说,表示该元件显示在父元件的位置。
比如说Button,android:layout_gravity 表示按钮在界面上的位置;android:gravity表示Button上的文字在按钮上的位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: