Android辟邪剑谱-填空题部分

第二部分-填空题。

第一部分点击跳转

25.android中常用的四个布局是

Framlayout,Linearlayout,Relativelayout,Tablelayout。

26.android的四大组件

activity,service,broadcast,contentprovide。

27.java.io包中的ObjectInputStream和ObjectOutputStream类主要用于对对象的读写。

28.android中service的实现方法是startservice和bindservice。

29.activity一般会重载7个方法用来维护其生命周期,除了onCreate,onStart,onDestory,还有onRestart,onResume,Onpause,Onstop。

30.android的数据存储的方式有SharedPrefrerence,文件存储,SQLite,contentProvider和网络。

31.当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是StartActivityResult()。

32.涉及命令行,故不整理。

33.程序运行的结果是:goodandgbc。

public class Example {
    String string = new String("good");
    char[] chars = {'a', 'b', 'c'};
    public static void main(String args[]) {
        Example example = new Example();
        example.change(example.string, example.chars);
        System.out.print(example.string + "and");
        System.out.print(example.chars);
    }
    public void change(String string, char chars[]) {
        string = "test OK";
        chars[0] = 'g';
    }
}

34.在android中,请简述jni的调用过程。

    安装和下载Cygwin,下载Android NDK

    在NDK项目中JNI接口的涉及

    使用C/C++实现本地方法

    JNI生成动态链接库.so文件

    将动态链接库复制到工程中,调用即可

35.简述Android应用程序结构是那些?

    Linux Kernel (Linux 内核)

    Libraries (系统运行库或者是c/c++核心库)

    Application Framework (开发框架包)

    Applications (核心应用程序)

36.请继承SQLiteOpenHelper实现

1)创建一个版本为1的“diaryOpenHelper.db”的数据库

2)同时创建一个“diary”表(包含一个_id主键并自增长,topic字符型100长度,content字符型1000长度

3)在数据库版本变化时删除“diary”表,并重新创建“diary”表

public class DBHelper extends SQLiteOpenHelper {

    public final static String DBNAME = "diaryOpenHelper.db";
    public final static Integer DBVERSION = 1;

//    创建数据库
    public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

//    创建表机构性文件
    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "CREATE TABLE `diary`(`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `topic` VARCHAR(100), `content` VARCHAR(1000))";
        db.execSQL(sql);
    }
//    若数据库版本更新,则调用此方法
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        String sql = "DROP TABLE IF EXISTS `diary`";
        db.execSQL(sql);
        this.onCreate(db);
    }
}

37.页面上现有ProgressBar控件progressBar,请用书写线程已10秒的时间完成其进度显示工作

public class ProgressBarStu extends AppCompatActivity {

    ProgressBar progressBar;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_progress_bar);

        progressBar = findViewById(R.id.progressBar);


//        开辟一个新线程
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
//                获取进度条总长度
                int progressBarMax = progressBar.getMax();
//                获取进度条长度的1/10
                int stepProgress = progressBarMax / 10;
//                如果进度条没跑完
                while (progressBarMax != progressBar.getProgress()) {
//                    获取当前进度条已跑的长度
                    int currentProgress = progressBar.getProgress();
//                    设置当前进度条为已跑长度加1/10
                    progressBar.setProgress(currentProgress + stepProgress);
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }

                }

            }
        });
        thread.start();


    }
}

38.请描述下Activity的生命周期

    有三个必须调用的方法onCreate()——>onStart()——>onResume()

    未完成,查证后补充。

39.如果后台的Activity由于某些原因被系统回收了,如何在被系统回收之前保存当前状态?

    onSaveInstanceState()

    当你的程序中某一个ActivityA在运行时,主动或被动地运行另一个新的ActivityB时,这个时候ActivityA会执行onSaveInstatanceState()。当ActivityB完成以后又回来找ActivityA,这个时候有两种情况:

    1.ActivityA被回收,这个时候ActivityA就要重新调用onCreate()不过这个onCreate()是带上了参数saveInstanceState的。

    2.ActivityA没被回收,直接调用onResume(),跳过了onCreate()。

40.如何将一个Activity设置为窗口的样式?

在AndroidManifest.xml中给Activity添加主题样式

android:theme="@style/Theme.AppCompat.Dialog"

41.如何退出Activity?如何安全退出已调用多个Activity的Application?

有tai待chang商le榷la

42.请介绍下Android中常用的五种布局。

FrameLayout 框架布局

LinearLayout 线性布局

AbsoluteLayout 绝对布局

RelativeLayout 相对布局

TableLayout 表格布局

43.请介绍Android的数据存储方式

    SharedPreferences方式

    文件存储方式

    SQLite数据库方式

    Content Provider方式

    网络存储方式

44.




猜你喜欢

转载自blog.csdn.net/qq_38376757/article/details/80077414
今日推荐