




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章第十章顺序很重要onCreateOptionsMenu创建Menu方法。系统内部类。onOptionsItemSelected调用Menu一、src目录1、 Src目录中包含了一个android应用程序所需要的各个程序源文件。这些文件被存放到“包名”的子目录下。2、 Gen目录下存放所有自动生成的文件。这个目录中,最重要的文件就是R.java。二、res目录res目录中存放所有程序中用到的资源文件。(默认的有layout、values)1、 layout目录包含所有使用XML格式的界面说明文件。要使用这些界面组件,应该通过R.java中自动产生的R类来调用。2、 values目录包含所有使用XML格式的参数值描述文件,可以在此添加一些额外的资源,如字符串、颜色、风格。使用时也是通过R.java类来调用。三、android功能列表androidManifest.xml是android应用程序的功能列表,每个应用程序都在这个文件中,列出该应用程序所提供的功能。当我们需要添加一个activity类时,我们也需要先在此注册这个添加的activity类后,才能顺利调用。四、布局1、LinearLayout时线性页面布局。是从上到下排队的意思。(是默认的,一般不需要更改)2、RelativeLayout是相对页面布局。3、FrameLayout框架页面布局。4、TableLayout表格页面布局。5、AbsoluteLayout绝对位置页面布局。6、fill_parent填满整个上层组件。7、wrap_content适应用户输入文字。8、android:orientation页面走向属性。Vertical垂直。五、输入类型1、android:inputType=”0”,integer是int型、number是数字、numberDecimal允许包含小数点。六、格式化结果1、DecimalFormat df = new DecimalFormay(“0.00”);将结果保留两位小数。七、Button的单击事件。1、button.setOnClickListener(xxx);private OnClickListener xxx = new OnClickListener()/*其中为自动生成的代码Public void onClick(View v)*/;八、values里面的xx.xml可以自建。1、九、button的单击事件button.setOnCliockListener(new OnClickListener()Public void onClick(View v)/本段仍为自动生成);十、取值1、 EditText height1 = (EditText)findViewById(R.id.height);Double height = Double.parseDouble(height1.getText().toString();一、Android的MVC模式Model(模型层)、View(视图层)、Controller(控制层)二、MVC流程1、public void onCreat(Bundle savedInstanceState)2、private Button btnCalc; /控件的声明3、private void findeViews()4、private void setListensers()5、private Button.OnClickListener calcBMI = new Button.OnClickListener()public void onClick(View v)/中间写功能及算法代码三、要在android程式中调用一个对话框,有两个主要步骤:1、定义调用点。2、实体对话框。3、private void openOptionsDialog()New AlertDialog.Builder(Bmi.this).setTitle(“标题”).setMessage(“内容”).show();4、调用openOptionsDialog()这个方法。那里需要放那里。5、调用AlertDialg函数时,需要导入“import java.app.AlertDialog;“函数库。6、也可以放到values中的XML文件里,用R.string.xxx来调用。7、private void openOptionsDialog()New AlertDialog.Builder(Bmi.this).setTitle(“标题”).setMessage(“内容”).setPositiveButton(“确认”,new DialogInterface.OnClickListener()Public void onClick(DialogInterface dialoginterface , int i)/写当前对话框上的按钮的单击事件)8、在main.xml(布局的xml中)android:numeric=”integer” 表示只能输入数字Android:singleLine=”true”输入单行文本9、把业务逻辑代码用trycatch包围起来,并在catch模块中写入Toast.makeText(Bmi.this,”打错了吗?只能输入数字喔。”,Toast.LENGTH_SHORT).show();表示提示用户输入错误。10、所有文字的地方,都可以写到values文件夹中的.xml资料。11、android:singleLine=”true”只能输入单行12、android:numeric=”integer”只能调出数字键13、Toast.makeText(类名.this,”提示信息”,Toast.LENGTH_SHORT).show();放到try catch模块中的catch中,如果出现异常,则显示提示信息。14、Uri uri = Uri.parse(“”);创建一个Uri实体,里面包含所需要的网站的全路径。15、startActivity(intent);通过startActivity函数,Android系统根据收到不同的“意图”(Intent)的动作和内容,打开对应的新界面。16、Intent intent = new Intent(Intent.ACTION_VIEW,uri);第一个是动作,第二个是内容。17、Uri uri = Uri.parse(getString(R.string.xx);Uri.parse中不能直接添加R.string.xxx需要用getString()包围。18、声明标识符: protected static final int MENU_ABOUT = Menu.FIRST; Protected static final int MENU_Quit = Menu.FIRST+1;是一个静态的常数类型(static final int),值应该也可以用数字。19、如果想要创建Menu菜单,包含两个部分,第一个:创建菜单;第二个:处理选项动作。需要实现两个接口,一:onCreateOptionsMenu 二、onOptionItemSelected这两个接口。20、弹出的菜单是依靠onCreateOptionMenu这个方法来实现的。选择了相应的选项后,是依赖于onOptionItemSelected来实现的。21、menu.add(0,标识符(identifer),0,字符串或资源标识符).setIcon(R.drawable.图标代号).setAlphabeticShortcut(英文字母);注意:menu需要点击手机上的menu按钮,才能显示出来。22、finish();代表结束该应用程序。第十五章1、 所有的Android程序的运行流程都定义在了Activity中。2、 在执行startActive函数时,应用程序并不是直接调用Activity,而是将Intent传进Android框架中。3、 注:activity标签是android应用程序与用户互动的主要元素。当用户打开第一个应用程序,第一个看到的画面就是一个Activity假如一个应用程序中包含多个画面是,会定义多个不同的Activity,我们也必须在application标签中使用多个activity标签,为不同的activity添加代码。 标签定义了这个activity的性质,intent-filter中主要包含了两个标签:action和category标签。Action标签中的android:name属性,其内容ent.action.MAIN表示这个activity是应用程序的进入点(类似于java中的main函数),优先执行这个activity。 Category标签中的android:name属性,其内容ent.categort.LAUNCHER表示这个activity将会显示在Launcher的应用程序列表中。也就是默认刚开好机时。可以从桌面下方拉出的应用程序列表。第十六章1、 独立的Activity只是单纯的从一个屏幕跳转到下个屏幕,不涉及数据的交换。我们只好填写intent的内容和动作。使用startAcvivity函数调用,即可唤起独立的Activity。2、 相依赖的Activity又可分为单向和双向。携带数据供给下一个页面使用,就是单向依赖的Activity。两个屏幕之间切换,相依赖的数据会因为另一个屏幕的操作而盖斌的,就是双向依赖的Activity。3、 要独立完成的Activity的动作,我们要做几件事:在程序中创建新的Activity类文件;在列表中添加Activity描述;在原Activity类中添加startActivity函数。4、 创建Activity流程a) EclipseNavigator切换视图到src/com/demo/android/bmi文件夹创建一个java类,并且继承activity-android.app在res/layout中增加一个xx.xml的文件。并且把前6行代码复制过来,记得关标记。把原activity中的public void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.repory);/注,这里是report,不是原来的。打开xxxManifest.xml文件,并切换到Application分页。在Application分页的左下角,Aplication Nodes右边的Add按钮,选择activity在右边Name*的文本框中,点击Browse,选择Report(项目名)-com.demo.android.bmi(全路径名称)5、 跳转方式在main函数的activity中。Private Button.OnClickListener calcBMI = new Button.OnClickListener()Public void onClick(View v)/创建一个新的意图(Intent)Intent intent = new Intent();/为这个意图来制定来源的Activity所在class,与要去往的Activity所在的class。注:第一个用的是。This,第二个是class。Intent.setClass(bmi.this,Report.class);、/将定义好的intent传入startActivity函数中,这个函数会将intent传入Android框架。startActivity(intent);第十七章Intent是一个动作与内容的集合。1、保存对象:Intent intent = new Intent();Intent.setClass(bmi.this,Report.class);/bmi.this是当前类,Report.class是转发类。Bundle bundle = new Bundle();Bundle.putString(“KEY_HEIGHT”,field_height.getText().toString(); /”中是对象名,后者是对象Intent.putExtras(bundle);/通过putExtras将bundle放到intent上startActivity(intent);/将定义好的intent传入startActivity函数中(相当于request.setAttribute)。3、 取值:Bundle bundle =this.getIntent().getExtras(); /通过getExtras方法,调用传过来的Intent对象实体Double height = Double.parseDouble(bundle.getString(“KEY_HEIGHT”)/100;/取出存入在intent对象中,键位KEY_HEIGHT中的对象。第十八章步骤:1、 先声明一个NotificationManager类型的barManager对象,用来负责整个与这个Activity信息提醒相关的事物。NotificationManager barManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);GetSystemService(NOTIFICATION_SERVICE)返回NotificationManager对象。getSystemService(ALARMMANAGER)就可以取得负责管理闹铃的Alarmmanager对象。2、 再声明一个Notification类型的barMsg对象,用来存放提示信息的内容。Notification barMsg = new Notification(图片,提示信息(用中文并且不能从string中提取),System.currentTimeMillis()(表示立即显示))第一个:显示在屏幕上的图标资源;第二个:要马上娴熟在状态栏上的提示信息;第三个:当前Notification传送到的时间。System.currentTimeMillis()表示立刻显示。3、 最后,使用NotificationManager类型的notify方法,将barMsg对象传送给Android框架。将提醒信息显示在状态栏上。setLastestEventInfo共需要4个参数,第一个:传入当前Activity对象本身以供参考;第二:状态栏中显示的主题;第三:状态栏中显示的说明;第四:接收PendingIntent类的传入参数。第十九章导入Log函数Log.v verbose 详细信息Log.d Debug 调试信息Log.i INFO 通知信息Log.wWARN警告信息Log.eERROR错误信息一般较为常用的是Log.d调试信息、Log.w警告信息、Log.e错误信息。差错工具的正式名称为“Dalvik Debug Monitor Service”(DDMS)声明一个log的时候,把鼠标放到Message上,会自动提示CreateContent,建议创建一个常量,并且,系统会自动分配一个常量在类的最上端。常量名通常以类名来命名,方便程序员更快,更准确的找到LogCat中的需要输出的Log。第二十章1、 一个进程只能开启一次,不能重复开启。(当系统内存不足,或打开同一个应用程序时,按照程序的优先级自动进行程序的回收。)2、 Android的虚拟机(vm)是使用堆迭(Stack based)管理,主要有4种状态。a) Active(活动)在Android平台上,同一个时刻,只会有一个Activity处于活动或运行状态,其他的Activity都处于未启动、停止、暂停的状态。b) Paused(暂停)目前运行的屏幕画面暂时暗下来,退到背景画面的状态。c) Stopped(停止)通过长按HOME钮,可以调出所有处于Stopped状态的应用程序列表。在Stopped状态的Activity还可以通过Notification来唤醒。d) Dead(以回收或未开启)要手动停止Activity需要调用finish()方法。3、 系统内存不足时的行为(优先级)a) 有限回收独立的Activityb) 再回收处于Stopped状态的其他类型的Activity,最久没有使用的Activity有限回收c) 回收service进程d) 关掉可见的Activity/进程/到此步骤,机器就废了。e) 关闭当前的Activity1、 资源分配(Create/Destroy)Create状态开始,由Destroy状态结束,创建时分配资源,销毁时释放资源。2、 可见与不可见(Start/ReStart/Stop)当Activity被销毁时(Destroy)而又再被调用,即会先进入一个ReStart状态后,再进入正常的Start状态。3、 用户能否直接访问屏幕(Resume/Pause)当有个Toast、AlertDialog、短信、电话、等消息闯入时,原来的Activity就会进入Pause状态,当这些优先级高的事件处理完成后,Activity就进入Resume状态,此时又直接访问屏幕。4、 Activity声明周期图CreateStartResumePauseStopDestroy当程序被Stop的时候,又被用户重新启用,需要先经过一个ReStart状态后,才会转入Start。5、 一般启动onCreateonStartonResume流程:分配资源给Activity(Create状态),然后将Activity内容显示到屏幕上(Start状态),在一切就绪后,取得屏幕的控制权(Resume状态)6、 调用另一个ActivityonPause(1)onCreate(2)onStart(2)onResume(2)onStop(1)先冻结原本Activity,再交出直接访问屏幕能力的权利(Pause状态),知道Activity02完成一般启动流程后,Activity1才会被停止。7、 返回原ActivityonPause(2)onRestart(1)onStart(1)onResume(1onStop(2)onDestroy(2)从当前的Activity点击返回按钮,跳转到原始页面,运行完成后,销毁Activity(2)8、 退出结束onPauseonStoponDestroy如果程序调用finish()方法,来关闭Activity时,会直接跳过先冻结的阶段,暂停,停止,然后销毁。9、 回收后再启动onCreateonStartonResume被回收掉的Activity一旦又重新被调用时,会像一半启动一样,再次调用Activity的onCreate方法。第二十一章1、 优先级SharedPreferences settings = getSharedPreferences(PREF,0);我们生命了一个优先级设置(SharedPreferences)类型的Settings,并使用getSharedPreferences函数,来寸照系统中有无符合以BMI_PREF字符串(PREF参数)作为文件名的优先级设置文件,如果有符合条件的优先级设置文档存在的话,就将这个优先级设置置顶用settings作为代号来操作。如果没有的话,getSharedPreferences函数会返回0给settings。2、使用优先级设置SharedPreferences settings = getSharedPreferences(PREF,0);settings.edit().putString(PREF_HEIGHT , field_height.getText().toString().commit();getSharedPreferences中的PREF相当于一个Key,而0相当于Value。第一次Create时,settings的默认值为0,第二次Create时,执行完onPause后,settings.edit后,PREF这个Key又了Value。String height1 = settings.getString(PREF_HEIGHT,”);我们可以通过变量的类型,从而用settings.getXXXXX函数,从优先级设置读取不同类型的内容。当PREF_HEIGHT优先级设置参数存在时,字符串height1就会得到优先级设置参数的内容,如果不存在,就会得到一个空字符串。width1.requestFocus();通过requestFocus();来设定光标焦点。if(!”.equals(height1)height.setText(height1);字符串比较,相等为null3、保存优先级当我们使用Home、Back按钮或其他方式离开当前的Activity时,才把身高的值保存到优先级当中。Settings.edit().putString(PREF_HEIGHT,height1.getText().toString().commit();要改变优先级类型的内容(SharedPreferences),需要通过putXXX函数来为优先级设置(XXX表示取出的值类型).时通过height1界面组件标识符取得身高的字符串后,将字符串保存到PREF_HEIGHT所代表的优先级设置参数中。第二十四章多国语言开发:创建一个中文字符串文件,我们先用Eclipse开发环境左侧的Package Explorer画面中选择res/values文件夹,按右键选择copy,接着选择res文件夹,点击右键选择paste。在弹values-zh-rCN文件夹。注意:文件名中间都以 - 符号来连接。values目录名称以及对应语言:繁体中文:values-zh-rTW简体中文:values-zh-rCH日文:values-ja英文:values-en美式英文:values-en-rUS英式英文:values-en-rUK在主程序的onCreate()方法中,添加以下代码:Resources res = getResources();Configuration conf = res.getConfiguration();Conf.locale = Locale.SIMPLIFIED_CHINESE;DisplayMetrice dm res.getDisplayMetrices();Res.updateConfiguration(conf, dm);注解:Resources res = getResources();先使用getResources函数取得名称为res的Resources(资源)对象。Configuration conf = res.getConfiguration();通过Resources对象的getConfiguration方法来取得函数名为conf的Configuration(相关设置)对象。conf.locale = Locale.SIMPLIFIED_CHINESE;改变当前程序所使用的语言的主要程序代码。将Configuration(相关设置)对象中的local(地区)属性设定成想要的语言。如果想让用户在程序中选择自己想要的语言,需要用if判断,如:If(conf.locale = Locale.TRADITIONAL)CHINESE)这样的语句,来判断当前用户所使用的语言。第二十五章1、配置资料夹的命名顺序及规则语言:繁体中文:values-zh-rTW简体中文:values-zh-rCH日文:values-ja英文:values-en美式英文:values-en-rUS英式英文:values-en-rUK屏幕方向:port(portrait直式)land(landscope横式)square(方形)触控类型(Touchscreen type):Notouch(无触控)Finger(手指触控)Stylus(触控笔触控)文字输入方式(text input)Nokeys(无实体键盘)Qwerty(实体键盘)12key(数字键盘)浏览方式(navigation method)Notouch(无触控)Dpad(方向键)Trachball(轨迹球)Wheel(滚轮)屏幕分辨率320*240(QVGA)640*480(HVGA)注意:命名解析度的时候,数字大者在前。指定屏幕方向:1、 配置文件中指定屏幕方向在AndroidManifest.xml的activity标签中加上Android:screenOrientation=”portrait”屏幕就被强制规定称使用直式显示。2、 程序中指定屏幕方向要强制应用程序屏幕显示方向,向代码中加入setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);通过setRequestedOrientation语句,我们可以指定屏幕显示的方向。主要函数有:SCREEN_ORIENTATION_LANDSCAPE/横式SCREEN_ORIENTATION_PORTRAIT/直式第二十六章 使用接口接口的作用:负责转换页面无法接收的数据。通过接口的转换,传到页面上。并且为了保证程序的弹性ArrayAdapter adapter_feet = new ArrayAdapter(this , android.R.layout.simple_spinner_item , feets);注:第一个参数代表这个Activity本身,以this表示。第二个参数是这个接口样式的标识符。第三个参数是传入的数组。Adapter_feet.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);注:Adapter_feet使用了setDropDownViewResource方法,设置了默认的下拉菜单查看格式为Android系统内置的android.R.layout.simple_spinner_dropdown_item XML说明文件格式。第二十七章Spinner 下拉菜单Spinner比EditText多了两个参数,android:drawSelectOnTop与android:prompt1、 android:drawSelectOnTop的作用是指定这个下拉菜单是否可以显示在其他菜单的上层。设为true或者false,但大多时候并不重要。2、 android:prompt是指定下拉菜单弹出菜单选项的提示语句(弹出菜单选项的标题)。添加下拉菜单,并向菜单中存放数据的步骤:1、 在main.xml中添加标记2、 在主程序中声明private Spinner XXX;3、 根据R.XML中的ID取值。XXX=(Spinner)findViewById(R.id.XXX);4、 定义一个数组接口ArrayAdapter类,来将前面定义的feet字符串数组,转换成接口类实体:ArrayAdapter adapter_feet = ArrayAdapter.createFromResource(this , R.array.inches , android.R.layout.simple_spinner_item);adapter_feet.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);XXX.setAdapter(adapter_feet);5、在setListensers()方法中添加setOnItemSelectedListener方法,来设置按下Spinner菜单后,用来负责处理后续动作的函数。XXX.setOnItemSelectedListener(getFeet);6、当用户在页面中按下按钮时,会弹出一个菜单选项。菜单选项的标题上显示的是我们在XML说明文件中定义在android:prompt属性中的值。而菜单的内容是我们通过接口取得的字符串数组。7、private Spinner.OnItemSelectedListener getFeet = new Spinner.OnItemSelectedListener()Public void onItemSelected(AdapterView parent , View v , int position , long id)第一个参数:是这个画面的原来下拉菜单实体,也就是指field_feet。第二个参数:是在画面上按下选项所对应的识别符号,默认为0.第三个参数则是行的标识符(row id)一半只有在从数据表中取得的数据时才会用到Public void onNothingSelected(AdapterView parent);8、优先级:private void restorePrefs() /优先级设定,找到参数为PREF的文件。SharedPreferences settings = getSharedPreferences(PREF, 0);/需要的类型是Integer的,所以用settings.getInt方法来寻找PREF_FEET常量中的第三个元素。Integer pref_feet = settings.getInt(PREF_FEET, 3);/将选中的元素,存放到下拉框中field_feet.setSelection(pref_feet);/将光标转到field_inch中field_inch.requestFocus();/寻找PREF_INCH中的第二个元素。Integer pref_inch = settings.getInt(PREF_INCH, 2);/将选中项放到pref_inch的下拉框中field_inch.setSelection(pref_inch);/将光标放到field_requestFocus()field_weight.requestFocus();第二十八章把bin目录下的.apk文件拷到手机中,并安装,即可完成软件的安装。手动到处apkPackage ExplorerAndroid ToolsExport Unsigned Application Package就可以完成项目APK文件的导出。第三十章1、 继承ListActivity类,而并非继承Activity类。ListActivity默认绑定了一个ListView(列表视图)界面组件,并提供一些与列表视图、处理相关的操作。因为继承了ListActivity类,所以需要将setContentView(R.layout.main);注释掉,并加上setListAdapter(adapter);来调用这个方法。实现视图。2、 使用接口类,以搭配ListActivity的动作。最后再用ListActivity提供的setListAdapter函数,将接口绑定到ListView上。3、 像空白Activity中添加文字:getListView().setEmptyView(findViewById(R.id.empty);此方法表示,如果ListView为空,则向空的ListView添加R.id.empty的字节。如果不为空,则执行下面的setAdapter();方法。getListView().setEmptyView(findViewById(R.id.empty);表示如果当前ListView为空,则把id为empty的值附进去,如果不为空,则显示数据。(相当于判断是否为空)getListView().setTextFilterEnabled(true);表示是否过滤ListView中的东西。第三十一章SQLit是一种在嵌入式系统中很常见的数据库。1、 查看模拟器目录:a) 输入adb shell命令后,进入模拟器的/data.data目录。b) 进入data/data目录中后,可以使用ls命令来查看模拟器中的所有应用程序数据列表。c) 使用cd命令来进入项目com.demo.android.dummynote的数据目录。2、 手动创建SQLite数据库a) SQLite数据库需要放在目录中databases文件夹里。我们可以使用adb shell中的mkdir命令来创建这个文件夹。# lsLib# mkdir databases#lsDatabasesLib因为默认创建的databases文件夹仅供root权限访问,所以,我们需要使用chmod命令来改变默认的访问权限:# chmod 777 databases# ls -1Drwxrwxrwx root root2008-11-18 20:39 databasesDrwxr-xr-xsystemsystem2008-11-18 20:35 lib使用sqlite3创建数据库# cd database # sqlite3 notes.dbSQLite version 3.5.9Enter “.help” for instructionsSqlite进入databases目录,使用sqlite3命令创建一个名为notes.db的文件。如果命令提示符由#变成了sqllite,表示已进入SQLite的互动模式中,我们可以再次模式中队数据表与其中的条目做CURD。创建数据表CREATE TABLE notes(_id INTEGER PRIMART KEY,Note TEXT NOT NULLcreated INTEGER );验证.databases命令是列出目录下所有SQLite数据库列表.tables命令是列出所有数据表。.schema命令是显示出创建数据表的命令。如果数据表过多,可以再.schema (XXX)输入参数,查看参数表。.exit命令是离开SQLite的互动模式。让Android模拟器通过Proxy上网用adb shell命令打开命令行界面,Android模拟器的上网设置储存在viders.settings中。# cd data/data/com/.viders.settings/databases# ls接着,使用sqlite3打开settings.db数据库#sqlite3 settings.db进入sqlite互动式命令界面后,我们可以用.tables命令来查看数据表。.tables查询语句的格式:SELECT 字段 FROM;添加语句的格式:INSERT INTO 数据表 VALUES(字段内容值);更新语句的格式:UPDATE 数据表 SET 字段=”内容值” WHERE 条件;删除语句的格式:DELECT FROM 数据表 WHERE 数据字段=内容值;第三十二章1、 创建一个DatabaseHelper类,并继承SQLiteOpenHelper,能协助我们 创建数据表,管理数据表。注意:此类是私有,静态的。能自动生成一个构造函数(DatabaseHelper(),一个创建数据表的方法(onCreate(),一个更新数据表的方法(onUpgrade()两个方法的返回值类型都是空(void)。2、 声明四个private static final 类型的常量,一个是数据库名;一个是数据库版本号;一个是数据表名;一个是创建数据表的语句。3、 改写的重点是将原本的constructor改为只需要传入负责控制数据库的打开和关闭的context参数,其他3个变量,都改为使用super关键字来在每次调用constructor时在constructor中自动传入这些固定的参数。context对象,可以控制数据库的打开和关闭。 修改后为:contextname传入数据库名称。 修改后为:数据库名factory可以做复杂的查询,一般不会用到。 修改后为:nullversion传入数据库版本 修改后为:数据库版本号4、 private Context mCx = null;public NotesDbAdapter (Context ctx)this.mCtx = ctx;这段程序中,使用了依赖注入的技巧,在构建对象的同时,一并创建依赖关系。如此一来,当我们设计一个用来打开数据库的open类方法时,就可以让这个组件值依赖于抽象界面(mCtx),当这个组件要与其他实际传入的对象发生依赖关系时,能借由抽象界面来注入一来的实例对象。5、 public void close()dbHelper.close();close类方法对应open类方法。用来明确地停止对数据库的访问。第三十三章 SQLite增删改查1、 检索(Retrieve)db.query(table , columns , selection , selectionArgs , groupBy , having , orderBy);table 查询的数据表名称;columns查询的数据表字段;selection WHERE语句;selectionArgs WHERE语句的参数;groupBy GROUP BY 语句;havingHAVING语句;order-by 排序语句。2、 插入数据。在insert函数中,ContentValues(内容值)类的对象。Args然后调用ContentValues的put方法,往args中填入传入Insert函数的Note参数。db.insert(table,nullColumnHack,values);table:数据表名称n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数控高精度内外圆磨床项目建议书
- 安全培训教学方法改革课件
- 广东省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【轻工纺织大类】模拟练习
- “百万英才汇南粤”2025年佛山市高明区公开招聘中小学教师(第四场)考前自测高频考点模拟试题带答案详解
- 2025贵州贵州省福泉市引进教育系统高层次人才20人考前自测高频考点模拟试题及答案详解(必刷)
- 2025年棕、藤、草制品项目合作计划书
- IN-1130-Standard-生命科学试剂-MCE
- 2025年羟丙纤维素项目发展计划
- 2025广西壮族自治区中医骨伤科研究所广西骨伤医院招聘实名编制工作人员(高级职称)3人考前自测高频考点模拟试题含答案详解
- GW7647-Standard-生命科学试剂-MCE
- 危险货物道路运输规则第4部分:运输包装使用要求(JTT617.4-2018)
- 2024年四川省成都市中考数学真题及答案解析
- 部队军事体能训练课件
- 狗猫鼠全文赏析课件
- 国有企业外部董事个人履职报告
- 船舶拆解资金管理办法
- 皮带机安全知识培训
- 增值税发票培训知识课件
- 2025年对酒驾醉驾问题谈心谈话记录内容范文
- 【《以儿歌为载体的小班幼儿生活自理能力提升路径分析》11000字】
- 2025年《3~6岁儿童学习与发展指南》试题(+答案)
评论
0/150
提交评论