Android开发技巧总汇4.docx

上传人:b****3 文档编号:4870905 上传时间:2022-12-11 格式:DOCX 页数:70 大小:152.64KB
下载 相关 举报
Android开发技巧总汇4.docx_第1页
第1页 / 共70页
Android开发技巧总汇4.docx_第2页
第2页 / 共70页
Android开发技巧总汇4.docx_第3页
第3页 / 共70页
Android开发技巧总汇4.docx_第4页
第4页 / 共70页
Android开发技巧总汇4.docx_第5页
第5页 / 共70页
点击查看更多>>
下载资源
资源描述

Android开发技巧总汇4.docx

《Android开发技巧总汇4.docx》由会员分享,可在线阅读,更多相关《Android开发技巧总汇4.docx(70页珍藏版)》请在冰豆网上搜索。

Android开发技巧总汇4.docx

Android开发技巧总汇4

 <>

-------ruin

目录

1.通过添加按钮来触发menu按键2

2.横竖屏切换问题2

3.获得对话框中EditText内容5

4.xml文件中的几个布局7

1.通用属性7

2.EditText部分属性9

3.layout_alignParentRightandroid:

paddingRight13

5.EditText光标选择14

6.自定义键盘映射15

7.特别案例!

自定义LiseView15

8.查看SQLite内容15

9.Hander更新线程的创建16

10.android常用单位17

11.ContextMenu和OptionsMenu菜单的区别17

12..如何在非全屏状态下,不显示title标题栏17

13.获取屏幕方向18

14.获取手机型号以及系统版本号18

15.获取标题栏和状态栏高度18

16.开机自动启动19

17.获取IP20

18.标题栏进度框显示的简单方法20

19.Android常用类库21

20.点击ListView改变背景色21

21.全屏显示(去掉标题栏)22

22.创建一个SD映像22

23.加快模拟器速度23

24.横竖屏切换23

25.命令行参数23

26.获取存储卡的路径和存储空间24

27.几个常用类25

1.从输入流中获取数据并以字节数组返回25

2.通过Android客户端上传数据到服务器25

3.文件下载类30

28.一次性关闭所有的Activity38

29.拨打电话38

30.自动滚动ListView38

31.高循环效率的代码39

32.激活JavaScript打开内部链接40

33.获得两个GPS坐标之间的距离41

34.Sensor2D感应实例41

35.位图旋转43

36.通过经纬度显示地图44

37.显示网页44

38.发送SMS、MMS44

39.如何进行单元测试44

40.代码获取应用程序的名称,包名,版本号和图标45

41.卸载程序46

42.发送彩信46

43.路径规划47

44.获取本机电话号码47

45.检查SD卡是否存在47

46.查看内存存储47

47.获取手机位置49

48.一个很好的加密解密字符串50

49.获取手机当前的IP52

50.自定义MENU背景52

51.通过FTP传输文件,关闭UI获得返回码54

52.获得SDK版本信息55

53.下载文件的进度条提示55

54.获取APK包的信息57

55.将程序安装到SD卡59

1.通过添加按钮来触发menu按键

只需根据实际情况在点击按钮映射中添加如下语句:

this.openOptionsMenu();

openOptionsMenu();

2.横竖屏切换问题

package;

importandroid.app.Activity;

importandroid.content.res.Configuration;

importandroid.os.Bundle;

importandroid.util.Log;

importandroid.widget.TextView;

publicclassLayoutTestextendsActivity{

   

privatestaticfinalStringtag="LayoutTest";

/**Calledwhentheactivityisfirstcreated.*/

   @Override

   publicvoidonCreate(BundlesavedInstanceState){

       super.onCreate(savedInstanceState);

       

       Log.e(tag,"********test********");

      //LOGV("********test********");

       

       if(this.getResources()

.getConfiguration()

.orientation==Configuration.ORIENTATION_LANDSCAPE){

Log.e(tag,"^^^^^^^^^^thisisalandscape*************");

       }

     // TextViewtx=(TextView)findViewById(R.id.txt);

    //  tx.setKeepScreenOn(true);

     // if(this.getResources())

       

       setContentView(R.layout.main);

   }

   

   @Override

publicvoidonConfigurationChanged(ConfigurationnewConfig){

//TODOAuto-generatedmethodstub

super.onConfigurationChanged(newConfig);

if(this.getResources()

.getConfiguration()

.orientation==Configuration.ORIENTATION_PORTRAIT){

Log.e(tag,"********thisisaportrait");

}elseif(this.getResources()

.getConfiguration()

.orientation==Configuration.ORIENTATION_LANDSCAPE){

Log.e(tag,"thisisalandscape*************");

}

}

}

AndroidManifest.xml

xmlversion="1.0"encoding="utf-8"?

>

android="

     package=""

     android:

versionCode="1"

     android:

versionName="1.0">

   

icon="@drawable/icon"android:

label="@string/app_name">

       

name=".LayoutTest"

                 android:

label="@string/app_name"

                 

                 android:

configChanges="orientation|keyboardHidden">

           

--  android:

screenOrientation="landscape">-->                                                                    

           

               

name="android.intent.action.MAIN"/>

               

name="android.intent.category.LAUNCHER"/>

           

       

   

   

minSdkVersion="3"/>

在开发游戏的时候,有些游戏是只能横屏玩的,所以手机竖立放置的时候,要保持游戏画面依然横屏。

要做到这个要求其实很简单,在AndroidManifest.xml里面配置一下就可以了。

加入这一行android:

screenOrientation="landscape"。

例如(landscape是横向,portrait是纵向):

xmlversion="1.0"encoding="utf-8"?

  

android=" 

        package="com.ray.linkit" 

        android:

versionCode="1" 

        android:

versionName="1.0"> 

     

icon="@drawable/icon"android:

label="@string/app_name"> 

         

name=".Main" 

                    android:

label="@string/app_name" 

                    android:

screenOrientation="portrait"> 

              

                 

name="android.intent.action.MAIN"/> 

                 

name="android.intent.category.LAUNCHER"/> 

              

          

                

name=".GamePlay" 

                 android:

screenOrientation="portrait"> 

                 

name=".OptionView" 

                 android:

screenOrientation="portrait"> 

      

     

minSdkVersion="3"/> 

  

另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!

3.获得对话框中EditText内容

1.对话框布局文件:

xml====R.layout.dlg_testself.xml

xmlversion="1.0"encoding="utf-8"?

>

android="

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

orientation="vertical">

android:

layout_height="wrap_content"

android:

layout_width="wrap_content"

android:

layout_marginLeft="20dip"

android:

layout_marginRight="20dip"

android:

text="请输入…:

"

android:

gravity="left"

android:

textAppearance="?

android:

attr/textAppearanceMedium"/>

android:

id="@+id/testdaysnum"

android:

layout_height="wrap_content"

android:

layout_width="fill_parent"

android:

layout_marginLeft="20dip"

android:

layout_marginRight="20dip"

android:

scrollHorizontally="true"

android:

autoText="false"

android:

capitalize="none"

android:

gravity="fill_horizontal"

android:

textAppearance="?

android:

attr/textAppearanceMedium"/>

2.Java代码中生成对话框代码

2.1声明:

privateProgressDialogm_Dialog;

2.2实现对话框代码:

LayoutInflaterfactory=LayoutInflater.from(ChooseThings.this);

//得到自定义对话框

finalViewtestDialogView=factory.inflate(R.layout.dlg_testself,null);

finalEditTextedit_GetDaysNum=(EditText)testDialogView.findViewById(R.id.testdaysnum);

//创建对话框

AlertDialog.BuildertestDialog=newAlertDialog.Builder(ChooseThings.this);

testDialog.setTitle("提示:

");

testDialog.setView(testDialogView);//设置自定义对话框的样式

testDialog.setPositiveButton("确定",//设置"确定"按钮

newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intwhichButton){

//输入完成后,点击“确定”开始登陆

StringnullOrNot=edit_GetDaysNum.getText().toString();

if(!

TextUtils.isEmpty(nullOrNot)){

intgetDaysNumFromDlg=Integer.parseInt(edit_GetDaysNum.getText().toString());//将editText中的内容转为int型

}

m_Dialog=ProgressDialog.show(ChooseThings.this,"请等待...","正在为您计算...",true);

newThread(){

publicvoidrun(){

try{

sleep(3000);

}

catch(Exceptione){

e.printStackTrace();

}

finally{

//登录结束,取消m_Dialog对话框

m_Dialog.dismiss();

Intentintent=newIntent();

intent.setClass(ChooseThings.this,TestResult.class);

startActivity(intent);

//ChooseThings.this.finish();

}

}

}.start();

}

});

testDialog.setNeutralButton("查看详细",

newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intwhichButton){

}

});

testDialog.setNegativeButton("取消",//设置“取消”按钮

newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intwhichButton){

//点击"取消"按钮之后退出程序

}

})

.create();//创建

testDialog.show();//显示

4.xml文件中的几个布局

1.通用属性

首先按照程序的目录结构大致分析:

 

  res/layout/这个目录存放的就是布局用的xml文件,一般默认为main.xml 

  res/values/这个目录存放的是一堆常量的xml文件 

  res/drawable/存放的是一些图片什么的,当然图标也在这里 

  下面主要对layout下的xml文件做个介绍,顺便也把布局的方法总结一下:

 

  ·文件的开头 

  

xmlversion="1.0"encoding="utf-8"?

  这是在说明xml版本及字符编码 

  ·紧接着到了关键的部分:

 

  

android="android" 

  android:

layout_width="wrap_content" 

  android:

layout_height="wrap_content"> 

   

  其中开头的"LinearLayout"是布局的方式,可以有很多种,最常用的应该就是Linear了,其他的布局方法等下在后面总结。

 

  接着android:

layout_width(height)="wrap_content"是在设置这部分布局的宽高,也可以是绝对值,当然设置为绝对值时要标上单位。

 

  ·在和就之间可以添加控件了,比如要添加一个名字为btn的Button控件,并且Button上显示的文字是"Test!

",可以这样写:

 

  

  android:

text="Test!

  android:

layout_width="wrap_content" 

  android:

layout_height="wrap_content" />

  开头id后面的就是控件名称,在用于添加事件Listener时会用到,而下几行的android:

xxx就是设置控件的属性了,这些属性在Android的文档中都有,不需要特别去记,一般现查就可以了。

 

  ·有一点要说明的是,布局方法可以嵌套,有点像java中的Container,可以非常方便的把界面“堆”出来。

 

  布局方式的简单说明:

 

  查了Android文档发现布局确实很多,只列出两个我自己认为较常用的:

 

  ·LinearLayout线性的布局方式,要么上下,要么左右的添加控件,很常用; 

  ·GridView中文翻译过来是网格布局,控件按照顺序依次填到每个格子里就好了,出来的界面会很整齐,较常用; 

  具体的几个布局如下:

 

  @<1> LinearLayout(线性布局)提供了控件水平垂直排列的模型,同时可以通过设置子控件的weight布局参数控制各个控件在布局中的相对大小。

水平(vertical)垂直(horizontal) 

  fill-parent:

占满整个屏幕,wrap-content:

刚好适合控件内容的大小 

  对齐方式gravity取值:

 

  top:

不改变大小,位置置于容器的顶部 

  bottom:

不改变大小,位置置于容器的底部 

  left:

不改变大小,位置置于容器的左边 

  right:

不改变大小,位置置于容器的右边 

  center_vertical:

不改变大小,位置置于容器的纵向中央部分 

  center_horizontal:

不改变大小,位置置于容器的横向中央部分 

  center:

不改变大小,位置置于容器的横向和纵向的中央部分 

  fill_vertical:

可能的话,纵向延伸可以填满容器 

  fiil_horizontal:

可能的话,横向延伸可以填满容器 

  fiil:

可能的话,纵向和横向延伸填满容器 

  @<2> AbsoluteLayout(坐标布局)可以让子元素指定准确的x/y坐标值,并显示在屏幕上。

(0,0)为左上角,当向下或向右移动时,坐标值将变大。

AbsoluteLayout没有页边框,允许元素之间互相重叠(尽管不推荐)。

我们通常不推荐使用AbsoluteLayout,除非你有正当理由要使用它,因为它使界面代码太过刚性,以至于在不同的设备上可能不能很好地工作。

 

  Android:

layout_x/layout_y=”56px”确定控件位置 

  @<3> RelativeLayout(相对布局)允许子元素指定他们相对于其它元素或父元素的位置(通过ID指定)。

因此,你可以以右对齐,或上下,或置于屏幕中央的形式来排列两个元素。

元素按顺序排列,因此如果第一个元素在屏幕的中央,那么相对于这个元素的其它元素将以屏幕中央的相对位置来排列。

如果使用XML来指定这个layout,在你定义它之前,被关联的元素必须定义。

 

  Android:

layout_centerInparent,将当前控件放置于起父控件的横向和纵向的中央部分           

Android:

layout_centerHorizontal,使当前

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1