Android 开发小结01

来源:互联网 发布:stm8 ubuntu 编辑:程序博客网 时间:2024/05/16 23:41

1.首先是安卓平台的搭建,先到谷歌安卓首页去下载(可能需要翻墙)android sdk包,下过来的几百K的是一个在线安装下载器,通过它勾选各种安卓版本环境(可能需要6~10小时),也可以使用他人已经下载好的sdk复制过来。然后是给Myeclipse安装安卓虚拟机等安卓软件,在help中的software configuration中添加网址 在线下载。

 

2.我的myeclipse8.5试过各种方法安装ADT,安卓虚拟机,直接搜不行,添加zip包不行,自行解压到安装目录对应不行,用link方式也不行,最后我选择了下一个eclipse...eclipse下下来是绿色的(第一次知道- -#),直接install new software就行了,很好用,很快。

 

3.安卓的框架大致细分为4个部分。activity(界面),intent(数据传输和交互),service(数据处理),content provider(类似数据库,数据存储)。

 

4.安卓固有的类有R.java,放在自己创建的对应包里,文件夹包括assets,res前者的内容不会在R.java里注册,后者则会,后者还包含drawable-hdpi,drawable-ldpi,

drawable-mdpi文件夹,里面是放不同分辨率的图片的地方,还有layout文件夹,是放布局xml的地方,values是放strings.xml这种固定值的地方,方便国际化。里面放了新图片,或者是创建了新xml都会在R.java里有体现。

 

5.在安卓xml中使用固定值要使用android:label="@string/sendA" 这样的格式,@string/后跟名字。

 

6. <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

如果某activity配置了以上语句,说明程序一开始执行此页面。

 

7.activity既然代表不同界面,那么使用也要在AndroidManifest.xml注册才可以,格式如下:

<activity
            android:name=".SendActivity"
            android:label="@string/sendA" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

其中android:name=".SendActivity"和Activity类名对应。

 

8.记住layout中不能出现大写,否则在R.java中不会自动更新

 

9.若使用clean后,R.java不见了,说明:

a. layout中使用了大写xml文件;

b. xml中出现了错误;

c. 没开启automatically

 

10.一个activity首先要extends Activity父类,继承onCreate方法;然后在AndroidManifest注册;然后是activity的控件内容。

 

11.如果实现点击按钮,转到另一个activity,并且传送数据,首先我们要知道Intent类的7个要素。

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btn01=(Button)this.findViewById(R.id.btn01);
        btn01.setText("点我传送到下一个Activity");
        btn01.setOnClickListener(new BtnClickListener01());
    }
    //以下是一个监听器,利用了匿名内部类技术
    class BtnClickListener01 implements OnClickListener{
     public void onClick(View v){
      //下面是简单传送一个字符串extra过去receive的Activity
//      Intent intent=new Intent();
//      intent.setClass(SendActivity.this, ReceiveActivity.class);
//      intent.putExtra("sendStr", "数据哦");
//      SendActivity.this.startActivity(intent);
      //下面是传送到短信页面,也就是2个程序中不同activity的传送
      Uri uri=Uri.parse("smsto://13979803230");
      Intent intent=new Intent(Intent.ACTION_SENDTO, uri);
      intent.putExtra("sms_body", "短信内容哦");
      SendActivity.this.startActivity(intent);
     }
    }

我们需要利用监听模式,创建如上格式的内部类,为按钮加上Onclick后的方法。