android 学习入门小结1

来源:互联网 发布:mysql数据库设计优化 编辑:程序博客网 时间:2024/06/05 03:25

目录:
Src:放置所有Java语言
Gen:自动生成,有R.java记录每一个资源id
Asset:存放一些随着程序打包的文件
Bin:包含编译时自动产生的文件。会有编译好的安装包
Libs:第三方Jar包
Res:所有用到的资源将会在里面
AndriodMainifest.xml:andriod文件的配置文件,四大组件在这里注册。还给程序添加权限,重新制定版本
Project.propeties:通过一行代码来确定编译时所用的SDK版本

引用资源的两种方法:
1.代码中R.string.helo_world
2.Xml中@string/hello_world

Logcat
Log.v()打印意义最小的日志信息
Log.d()打印调试信息
Log.i()打印重要的数据
Log.w()打印警告信息
Log.e()打印错误信息

活动:用于交互
onCreate()创建
Super指向父类

onCreate方法的完整定义如下:
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
从上面的代码可以看出,onCreate方法的参数是一个Bundle类型的参数。Bundle类型的数据与Map类型的数据相似,都是以key-value的形式存储数据的。
从字面上看savedInstanceState,是保存实例状态的。实际上,savedInstanceState也就是保存Activity的状态的。那么,savedInstanceState中的状态数据是从何处而来的呢?下面我们介绍Activity的另一个方法saveInstanceState。
onsaveInstanceState方法是用来保存Activity的状态的。当一个Activity在生命周期结束前,会调用该方法保存状态。这个方法有一个参数名称与onCreate方法参数名称相同。如下所示:
public void onSaveInstanceState(Bundle savedInstanceState){
super.onSaveInstanceState(savedInsanceState);
}
在实际应用中,当一个Activity结束前,如果需要保存状态,就在onsaveInstanceState中,将状态数据以key-value的形式放入到savedInstanceState中。这样,当一个Activity被创建时,就能从onCreate的参数savedInsanceState中获得状态数据。

<action android:name="android.intent.action.MAIN"/>            <category android:name="android.intent.category.LAUNCHER"/>

这两行代码成为了顶部名称以及启动器的名称
第一行设置了主活动
第二行设置了名字

<activity            android:name=".first"            android:label="This is the first">            <intent-filter>                <action android:name="android.intent.action.MAIN"/>                <category android:name="android.intent.category.LAUNCHER"/>            </intent-filter>        </activity>

解析:Android 在activity里面声明的是name以及label
在意图过滤器,设置MAIN的名字以及登录器的名字

    Button button1 = (Button)findViewById(R.id.button_1);        button1.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(first.this, "You clicked Button 1", Toast.LENGTH_SHORT).show();                // TODO Auto-generated method stub            }        });

猜测:关于为什么无法通过的原因
Import一个Java包之后就可以了,很有可能的是button这个widget类里面并不含有监听器,而需要引入一个监听器的包。
Import的功能可能性:
将以下所有类都继承了包中内容,不然的话,直接调用button就可以使用监听器
果然,如此

0 0