Android学习摘要

来源:互联网 发布:余额宝 知乎 编辑:程序博客网 时间:2024/05/29 04:18

Android学习摘要

2011-8-16

Kagula

内容概要

    介绍Android开发环境搭建,Android程序开发。本文适合熟悉Java语言、Eclipse的使用、其它平台上有移动开发经验(比如iOS、Symbian、WP7),但是没有在Android上做过开发的程序员。

正文

开发环境搭建

我们假设你的计算机上已经安装了JDK。

开发环境有三部组成:Android开发包,Eclipse,以及Eclipse上的ADT插件

[1]先到 http://developer.android.com/sdk/installing.html下载安装Android的SDK

[2]然后 http://www.eclipse.org/downloads/ 下载安装Eclipse

[3]启动Eclipse,根据http://developer.android.com/sdk/eclipse-adt.html下载安装ADT

你需要新建一个AVD(Android Virtual Device)用来测试你的Android代码

 

编程入门

   Android程序的代码以一个或多个Activity的继承类(Java文件)组成。每个Activity的继承类对应一个或多个布局文件(XML文件)。

Activity的继承类负责数据处理,XML布局文件负责视图排版。

每个Android项目文件都会包含AndroidManifest.xml文件。这个文件主要包括以下信息[1]当前软件包里有哪些Activity[2]从哪个Activity启动程序[3]对设备的存取权限设定,等等。

你可以新建一个Android程序,让它跑一下,感觉一下。

[1]源码都是放在src节点下

[2]布局是放在res\layout节点下

[3]gen节点下的文件不要去修改,当你在res节点下修改、添加资源时这个节点下的文件内容会自动更新

 

可以先使用log.d(“MyDebugTag”,”MyLine”);这样的代码修改源码并运行程序,也可以修改下src/layout节点下的main.xml文件。Activity继承类使用setContentView函数装载布局文件(R.layout.main对应main.xml)

注意log.d语句是打印到DDMS下的Logcat窗口里去的。

 

 

新手常见问题

【1】横屏竖屏切换事件(源码示例)

可以给每个activity加上android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.而是去调用onConfigurationChanged(ConfigurationnewConfig). 这样就可以在这个方法里调整显示方式.

比如

    @Override

    public void onConfigurationChanged(ConfigurationnewConfig) {

    // TODO Auto-generated method stub

        super.onConfigurationChanged(newConfig);

           

        if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

        //竖屏         //doSomrthing

        Log.d("MyDebug","竖屏");

        } else {

            //横屏时dosomething

        Log.d("MyDebug","横屏");

        }

【2】响应控件的Click事件(源码示例)

iv11 =(ImageView)findViewById(R.id.icon11);

iv11.setOnClickListener(new MyListener());

//这里省略若干行代码

class MyListener implementsOnClickListener{

    public void onClick(View v)

    {

        //这里处理这个控件的单击事件

    }

    }

【3】从当前Activity跳转到其它Activity(源码示例)

TakeOrderActivity是当前Activity类名,SecondActivity是下一个Activity类名

Intent intent = new Intent();

intent.setClass(TakeOrderActivity.this,SecondActivity.class);

TakeOrderActivity.this.startActivity(intent);

通过intent的putExtra和getXXXExtra方法可以在两个Activity之间传递参数。

 

【4】显示短暂提示消息

Toast.makeText(getApplicationContext(),"提示消息",Toast.LENGTH_SHORT).show();

 

【5】ListView控件拖动时背景变的问题

<ListViewandroid:cacheColorHint="#00000000"

 

【6】访问HTTP服务器中返回的数据(带Session)

try{DefaultHttpClient httpclient = new DefaultHttpClient();HttpGet httpget = new HttpGet("http://192.168.0.52/json/sesion.asp");//FirstHttpResponse response = httpclient.execute(httpget);String s = EntityUtils.toString(response.getEntity());//Secondresponse = httpclient.execute(httpget);String s2 = EntityUtils.toString(response.getEntity());//Thirdresponse = httpclient.execute(httpget);String s3 = EntityUtils.toString(response.getEntity());String s4 = s + "," + s2 + "," + s3;System.out.println(s4);}catch(Exception e){System.out.println(e.toString());}

 

 

参考资料

[1]《Android ViewFlipper触摸动画》

http://android.tgbus.com/Android/tutorial/201104/347980.shtml

注意,上文中的“viewflipper”标签要写成“android.widget.ViewFlipper”注意大小写,否则可能会提示“找不到android.view.viewflipper的定义”

[2]《如何美化android程序:自定义ListView背景》

http://hi.baidu.com/286177943/blog/item/a39c794211aff60972f05d6d.html

[3]《使用Gson将Java对象转换为JSON》

http://hi.baidu.com/etune/blog/item/625e8e4d1de4713d09f7ef86.html

[4]《Google开源项目Gson使用教程》

http://jingyan.baidu.com/article/1709ad80cbcddc4634c4f016.html

原创粉丝点击