Android学习(五)

学号 20189214 《Java程序设计》第十周学习总结

教材学习内容总结

偏好

  1. 在sharedPreferences包含一个键值对,可以使用contains方法,来判断指定的键是否存在。可以使用getAll方法对所有的键值对获取为一个Map。
  2. SettingFragment类是PreferenceFragment类的一个子类。它是一个简单的类,直接调用了addPreferences FromResource方法来加载3个Preference子类的布局xml文档。

操作文件

  1. Android设备提供了两种存储区域,分别是内部的外部的。内部存储对于应用程序是私有的,用户和其他的应用程序不能访问它。而外部存储的文件将会和其他的应用程序分享。比如Camera应用程序。
  2. 要操作外部存储的文件,首先要在清单文件中添加Permission。
  3. 存储在内部存储中的文件和存储在外部存储的公有文件并不具有相同的安全等级。存储在外部的文件用户可以删除该存储,并且使用某种工具来访问该文件。

操作数据库

SQLiteDataBase和SQLiteOpenHelper类都属于android.database.sqlite包。

  1. 要在Android应用程序中使用数据库,扩展SQLiteOpenHelper以帮助创建数据库和表,以及连接数据库。

    • 提供构造方法,它调用自己的超类,传入Context和数据库名称以及其他内容。
    • 覆盖onCreate方法和onUpgrade方法。
    • SQLiteOpenHelper自动管理到底层数据库的连接。有getReadableDatabase()和 getWritableDatabase()两种方法返回一个SQLiteDatabase实例。
  2. SQLiteDatabase类中有insert或者execSQL等方法操作数据库的数据。
  3. Cursor接口提供了对数据库查询所返回的结果集的读和写访问。其moveToFirst、moveToNext、moveToPrevious、moveToLast或moveToPosition方法。常用来自行刷新ListView。

获取图片

Android为获取静态图像的应用程序提供了两个选项,使用一个内建的意图来启动Camera或者使用Camera API。
在API中有4个参数shutter、raw、postview、jpeg。分别用来捕获瞬间的回调,解压缩图像数据的回调、预览图像数据的回调、JPEG图像数据的回调。

Camera2 中主要的API类

  • CameraManager类 : 摄像头管理类,用于检测、打开系统摄像头,通过getCameraCharacteristics(cameraId)可以获取摄像头特征。
  • CameraCharacteristics类:相机特性类,例如,是否支持自动调焦,是否支持zoom,是否支持闪光灯一系列特征。
  • CameraDevice类: 相机设备,类似早期的camera类。
  • CameraCaptureSession类:用于创建预览、拍照的Session类。通过它的setRepeatingRequest()方法控制预览界面 , 通过它的capture()方法控制拍照动作或者录像动作。
  • CameraRequest类:一次捕获的请求,可以设置一些列的参数,用于控制预览和拍照参数,例如:对焦模式,曝光模式,zoom参数等等。

Camera API详解

代码调试中的问题和解决过程

  • 问题1:SharedPreferences中putStringSet测试无效的问题
  • 问题1解决方案:原因在于putStringSet和getStringSet中的参数不能是同一个object,所以更改为new HashSet<>(SharedPreferences.getStringSet("abc",new HashSet()));以NEW对象来避免同一个object的问题。
    此时

    Set s = new HashSet<>();
    s.add("zhy");
    s.add("lxq");
    editor.putStringSet("abc", s);

代码托管

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 150/200 2/2 20/20
第二周 200/400 1/3 20/40
第三周 100/500 1/4 10/50
第四周 200/700 1/5 15/65
第五周 1486/2186 1/6 15/80
第六周 1400/3586 1/7 18/98
第七周 1400/5000 1/8 18/116
第八周 1200/6200 1/9 15/131
第九周 800/7000 2/11 12/143
第十周 1500/8500 1/12 15/158
  • 计划学习时间:15小时
  • 实际学习时间:15小时

参考资料

原文地址:https://www.cnblogs.com/Shambryce/p/10805215.html

时间: 2024-07-31 04:34:12

Android学习(五)的相关文章

android学习五(android中基本控件的使用)

前面已经学了activity的一些使用,那么下面我们进行android中基本的控件的学习和使用. 1.android中的TextView控件 新建一个项目,项目名为UITest,才有默认的设置,修改布局文件的内容,如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" a

Android学习五:Content Provider 使用

1ContentProvider相关知识1.1在安卓应用中,通过文件方式对外共享数据,需要进行文件操作读写数据:采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据.可以看出虽然它们 可以对外共享数据,但数据访问方式会因数据存储的方式而不同.在安卓中使用ContentProvider共享数据在不同的应用程序之间共享数据,底层的操作是透明的,对外提供统一接口,并可以让其它应用轻松访问该数据. 1.2ContentProvider使用表的形式来组

android学习五 Intent

1.Intent是组件间调用的桥梁. 2.Android系统定义了很多Intent    http://developer.android.com/guide/components/intents-common.html 3.Intent    Intent包括的内容可以有以下一个或多个 操作 数据 extra数据 组件名称 包含组件名称的Intent叫显示Intent,否则 叫隐式Intent.显示Intent在做目标活动匹配时会忽略掉除组件名称的其他部分内容. new Intent(Inte

Android学习Scroller(五)——详解Scroller调用过程以及View的重绘

MainActivity如下: package cc.ww; import android.os.Bundle; import android.widget.ImageView; import android.widget.ImageView.ScaleType; import android.widget.RelativeLayout; import android.widget.RelativeLayout.LayoutParams; import android.app.Activity;

Android学习笔记(十五)——碎片的生命周期(附源码)

碎片的生命周期 点击下载源码 与活动类似,碎片具有自己的生命周期.理解了碎片的生命周期后,我们可以在碎片被销毁时正确地保存其实例,在碎片被重建时将其还原到前一个状态. 1.使用上一篇的项目Fragments,在Fragment1.java文件中添加如下代码: package net.zenail.Fragments; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragm

十五、Android学习笔记_授权过程

1.需要申请App Key和App Secret.不同的开发平台有不同的接入方式,可以参考文档,然后将这两个值放进去. 2.通过OAuth类实现认证,它会自动跳转到认证界面,进行授权,成功之后需要处理回调接口. 3.在第二步调用回调接口时,它会返回用户的基本信息,比如用户id.此时需要将用户id信息保存起来,为后面登录做准备.回调接口的写法就为myapp://AuthorizeActivity,其中scheme全部为小写字母. <activity android:name="com.wei

五、Android学习第四天补充——Android的常用控件(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的Android的几个常用控件的使用方法: 一.RadioGroup和RadioButton——单选按钮 二.Checkbox——复选框 三.Toast——提示框,会自动消失 四.ProgressBar——进度条工具 五.ListView——以列表形式将控件显示出来 下面就对这些内容做个详细的解释: 首

六、Android学习第五天——Handler的使用(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 六.Android学习第五天——Handler的使用 注意:有很多功能是不能写在Activity中的,例如说下载或者处理大量的数据等,如果这类操作写在Activity中,就有可能导致整个Activity无响应甚至报错,这样用户体验就会比较差.所以此类功能应该独立于Activity,且互不干扰,所以Handler就应运而生了.Handler提供了一个异步的消息处理的方案,将

Android学习路线(十五)Activity生命周期——重新创建(Recreating)一个Activity

先占个位置,下次翻译~ :p There are a few scenarios in which your activity is destroyed due to normal app behavior, such as when the user presses the Back button or your activity signals its own destruction by calling finish(). The system may also destroy your

Android学习路线(五)开启另一个Activity

在完成了 上一篇课程后,你已经有了一个应用.这个应用展示了一个包含一个文本框和一个按钮的activity(一个单独的界面).在这次的课程中,你将会通过在MainActivity中添加一些代码,来让当给你点击Send按钮时能够跳转到另一个activity中. 响应Send按钮 为了响应按钮的点击事件,打开fragment_main.xml 布局文件,然后在 <Button> 元素中加入android:onClick属性: <Button     android:layout_width=&