android学习小结
前几天学习了关于android的一些知识,只是最近没怎么搞这个,这里就先写个小结,学了知识不用是会忘记的。。。说android是个新东西,它又不是个新东西,说它不是呢,又的确是第一次接触,为什么这样说,呵呵。。。在学习它之前一直感觉这东西很神奇,其实最后才发现它和java差不多,是java的一个提升。但是android系统底层,使用C/C++作为开发语言。接触一门新的语言,我们第一件事还是搭建开发环境。
平台的搭建:
安装JDK------>Eclipse-------->安装androidSDK------->安装ADT-------->创建AVD
安装JDK:下载JDK,根据提示安装,注意这里要设置环境变量:我的电脑->属性->高级->环境变量->系统变量中添加,在Path:中添加jdk的目录。
Eclipse:如果你已经有这个了,就不用下载啦!下载这个也很简单,网上有很多,也有中文版的哦。。。
安装ADT:打开Eclipse—>help—>installNewSoftware,点击add,再在弹出的对话框中输入想要取得名字以及在location输入网址:Http://dl-ssl.google.com/android/eclipse,然后在右侧点击Browse...并选中之前AndroidSDK的安装路径,点击Apply就完成配置啦!
其它的也很简单,这里就不一一说明啦!讲了这么多废话,下面我就一个小程序来简单的谈谈我对android的理解。
Activity:它是android应用程序和用户的接口,是android中很重要的一个组件。它响应所有窗口事件,具备控件、菜单等元素。同样,Activity具有生命周期,那何为生命周期呢?就像我们在java中一样,被我们实例化的对象有没有生命周期?答案是肯定的,只有当我们在使用它的时候它才分配内存空间执行相应的操作,这又有点像人的生老病死了。Activity有三个状态:
▲当它在屏幕前台的时候,它是激活状态,或者说是运行状态,响应用户操作的activity
▲当由当前的activity跳转到另一个activity时,即在它之上有另外一个activity,这个activity没有被完全覆盖,它就处于暂停状态,暂停状态的activity仍然是存活的。
▲当它完全被另一个activity覆盖时则处于停止状态,但它仍然保留所有的状态和成员信息。
onCreate():activity完整的生命周期是从第一次调用onCreate()开始,到其调用onDestroy()为止,它在onCreate()中设置所有的状态以完成初始化,而在onDestroy()中释放所有的系统资源。
onStart(),onStop()::Activity的可视生命周期可以看做从onStart()开始到相应的onStop()调用结束
onResume(),onPause():Activity的前台生命周期是从onResume()开始,到相应的onPause()结束,在此期间,activity位于前台最上面并与用户交流。
我们通过具体的一个例子来说明,一个简单的登录界面:
1.AndroidLoginActivity(初始时显示的Activity)
Java代码
package cn.yzz.AndroidLogin; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class AndroidLoginActivity extends Activity { //属性 private EditText username; private EditText password; private Button login; private Intent intent; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //添加登录按钮监听 login = (Button)findViewById(R.id.userlogin); login.setOnClickListener(ocl); } //创建按钮监听器对象 OnClickListener ocl = new OnClickListener(){ public void onClick(View arg0) { username = (EditText)findViewById(R.id.username); password = (EditText)findViewById(R.id.password); if("yangzhizhen".equals(username.getText().toString())&& "123456".equals(password.getText().toString())){ System.out.println("你点击了按钮"); Intent = new Intent(AndroidLoginActivity.this, SencondActivity.class); //启动Activity startActivity(intent); }else{ Toast.makeText(AndroidLoginActivity.this,"用户登录信息错 误" , Toast.LENGTH_SHORT).show(); } } }; }
2.SencondActivity(登录成功后跳转到的Activity)
Java代码
package cn.yzz.AndroidLogin; import android.app.Activity; import android.os.Bundle; //切换显示的Activity public class SencondActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); } }
3.初始显示的Anctivity的布局文件
Java代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#00ff00" android:textSize="40dip" android:text="@string/title" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dip" android:text="@string/user_name"/> <EditText android:layout_width="200dip" android:layout_height="wrap_content" android:textSize="20dip" android:id="@+id/username"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dip" android:text="@string/user_password"/> <EditText android:layout_width="200dip" android:layout_height="wrap_content" android:textSize="20dip" android:id="@+id/password"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dip" android:text="@string/login" android:id="@+id/userlogin"/> </LinearLayout>
4.成功登录后跳转到的Activity的布局文件
Java代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#ff00ff" android:textSize="50dip" android:text="@string/second_title" /> </LinearLayout>
5.用到的一些String的值
Java代码
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="title">简单登录系统</string> <string name="app_name">AndroidLogin</string> <string name="user_name">用户名:</string> <string name="user_password">密码:</string> <string name="login">登录</string> <string name="second_title">您已成功登录</string> </resources>
6.Activity注册信息
Java代码
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.yzz.AndroidLogin" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="3" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".AndroidLoginActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SencondActivity"> </activity> </application> </manifest>
注意:
▲R文件中的ip信息不需要我们手动去修改或者写入,系统会根据需要自动录入ip地址,及时你修改了也没用,保存后系统又会还原成和修改前一样
▲所有的activity都要在androidManifest.xml中注册
目前我就先写这些吧,大家一起进步哦!