安卓期末考试

考点

第二章、第三章(核心点)
第二章最后讲了一个线程,必须要会
第四章了解
第五第六第七了解
第九章三个存储:简单存储会写,文件存储,数据库存储
第十章不会考很多,核心也是线程
#安卓 #移动应用开发 #考试

选择题

Logcat

e error

i info

w warnning

d debug

MVC

m 模型:存储数据和代码

v 视图:显示用户页面和图像

c 控制器:处理用户输入

ViewGroup

ViewGroup 和TextView是View 的子类

音效:

MeadialPlayer是用来播放大型音乐适合用来播放游戏背景音乐

soundpool:适合用来播放小型音效,可以同时播放多种音效

网络访问:

开线程,加权限

开放手机联盟OHA:

产品商、电信运营商、软件厂商、芯片制造商、手机软件商、手机硬件商

Text类六个:

Textview EditView Button ImageButton GroupButtion checkbox

简答题:

Android的特点,与ios比较:

安卓不局限与操作系统,支持多个开发工具,使用java语言,因为市面上有多个厂商

所以安卓的兼容性较低、ui界面交互仍需要用户同时使用触屏和按键。

四层android模型:

程序应用层、程序应用框架层、运行环境和工具、Linux内核层

android5.1更新了什么

全新的material design 页面

支持64位

强化网络和连接支持

优化Android tv

目录结构:

src:存放要java源代码

gen:存放编译器自动生成的代码

libs:存放第三方包

res:存放安卓项目所以使用的素材和资源

四大组件:

activity:是安卓应用的显示层,显示可视化的用户页面,并且接受用户与页面交互得到的页面事件。

service:是用于没有用户界面的,并且长时间运行在后台的应用,可以提供service接口供其他程序调用

broadcasereceiver:用来接受广播消息的组件,不包含在任何页用户页面里可以调用activity和notification来告诉用户收到重要消息。

contentprovider:提供一种标准的用户共享数据的机制,其他程序可以通过contentprovider来访问该程序的私有数据,同时安卓系统内提供一些内置的contentprovider,能够提供一些重要数据信息

六大页面

线性布局:

放入的控件按照水平或者垂直来排列,一行或者一列只能存放一个元素,若内容排到容器外面将不会显示

相对布局:

更多来描述组件与组件之间的位置关系,每一个组件都包含了很多的关于位置的属性,当一个属性移动时,其他与他关联的属性也一起移动。

表格布局:是不规则不布局,是动态定义多少行和多少列

网状布局:是规则的布局,事先定义好多少行,多少列的单元格,然后接着自己定义元素填入到单元格里面去。

绝对布局:用x,y表示所有组件

帧布局:以左上角位参考,对父容器的左边和上边,元素可以重叠显示,即后元素可以遮盖前者,一起共同显示。

程序填空:

编程

xml编程:

<Textview
android:layout_width="match_partent"
android:layout_height="warp_match"
android:id="@+id/XXX"
android:text="XXXX"/>

Spinner:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
        List<String> list = new ArrayList<String>(); // 注意
        list.add("a");
        list.add("b");
        list.add("c");
        ArrayAdapter<String> adapter = new ArrayAdapter<String> (
            this, android.R.layout.simple_spinner_item, list
        );
        spinner.setAdapter(adapter);
### onclick

```java
Button button=(Button)findViewById(R.id.XX);
button.setOnClickListener(new View.OnClickListener{
			public void OnClick(View v){}
});

intent单向

我方:
Intent intent=new Intent(XXXX.this,XXX.class);
intent.putExtra("XXX",x);
startActiviyt(intent);
对方:
Intent intent=getIntent();
String x=intent.getStringExtra("x");

intent双向:

我方:
Intent intent=new Intent(XXXX.this,XXX.class);
intent.putExtra("XXX",x);
startActiviytForResult(intent,1);

....
protected void onActivityResult(int requestcode,int repuestcode,Intent data){
					if(...){
            ...
}

}
对方:
Intent intent=getIntent();
String a=intent.getStringExtra("x");
....
setResult(1,intent);
finish();

线程

public XXX extent Activity{
 private Handler handle =new Handler(){

 public void handleMessage(Message msg){}

};

protected void onCreate(Bunlde b){
super.onCreate(b);

setContentView(R.id.XXX);

new Thread(new Runnable{

public void run(){

}

}).start();

}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.fuxi">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.Fuxi">
        <activity
            android:name=".MainActivity4"
            android:exported="false" />
        <activity
            android:name=".MainActivity3"
            android:exported="false"></activity>
        <activity
            android:name=".MainActivity"
            android:exported="false"></activity>
        <activity
            android:name=".MainActivity2"
            android:exported="true"
            android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

sharedPerference 简单存储

SharedPerference sp=getSharedPreference("XXXX",MODE_PRIVATE);
sp.getString("  键名"," 默认值 ");
sp.putString("","");

SQLite

SQLiteDatabase db = openOrCreateDatabase("user.db", Context.MODE_PRIVATE, null);
        db.insert(); // 增
        db.delete(); // 删
        db.query(); // 查
        db.update(); // 改

        // TABLE_NAME 表名
        // Values 键值对,一大堆数据
        // WHERE username=xxx

Text视图的基本类型:

TextView,EditView,Button,ImageButton,CheckBox,GroupButton.

Toast

Toast.makeText(this,"",Toast.LENGTH_LONGE).show();

对话框

AlterDialog.Bulider a=new AlterDialog.Bulider(this);
a.setTitle("");
a.setMessage("");
a.show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值