[RE]Android基础(2)

    技术2026-06-10  2

    Android中的MVC

    Model:Java beanView:xml布局的视图Controller:Activity

    三者的交互如下

    Contreller:在view发生事件时使用监听器模式获得view的控制交互;Model发生变化时使用观察者模式通知Controller,其实现onChanged()方法决定具体动作。view和model之间不能调用。

    动态加载内容到布局

    相关:实现onItemClick监听器

    OnItemClickListener itemListener = new OnItemClickListener(){ @Override public void onItemClick(Adapter<?> listView,//被点击的listview View itemview,//被点击的item int position,//被点击的位置 long id){//id为数据源中索引 if(position == 0){ ..... } } }

    四个参数中后两个参数数据大多时候相同,position是适配器第几个加载item,id是其在列表中的位置,和listview中的位置相同。 数据源本不能直接和视图层互通,这违反MVC模式的原则。 适配器的作用意在适度打破这种原则,在activity的掌控之下使模型层和view层互通

    1. ArrayAdapter

    在需要显示内容的activity中编写如下代码

    //在onCreate()方法内: ArrayAdapter<Type> listAdapter = new ArrayAdapter<>( //上下文,内建布局资源,数据源(array) this,android.R.layout.simple_list_item_1,Drink.drinks); //绑定适配器 ListView listView = findViewById(R.id.list_drinks); listDrinks.setAdapter(listAdapter);

    其中,适配器执行过程是调用数据源的toString()方法,需要返回指定数据的需要重写toString();


    …………


    SQLite

    安卓原生支持类:

    SQLiteOpenHelper:管理数据库SQliteDatabase:接入数据库,为操作类提供类接口Cursor:读写数据 数据库文件存储位置: /data/data/package_name/database

    路径下有数据库文件夹,其中包含数据库文件和日志文件 SQLite数据库没有用户名密码,通过文件读写权限进行操作

    Processed: 0.026, SQL: 9