androidbean
A. android开发 如何使用实体类
实体类,也叫java bean,JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 的属性。
一个JavaBean由3部分组成:
(1) 属性(properties)
JavaBean提供了高层次的属性概念,属性在JavaBean中不只是传统的面向对象的概念里的属性,它同时还得到了属性读取和属性写入的API的支持。属性值可以通过调用适当的bean方法进行。比如,可能bean有一个名字属性,这个属性的值可能需要调用String getName()方法读取,而写入属性值可能要需要调用void setName(String str)的方法。
每个JavaBean属性通常都应该遵循简单的方法命名规则,这样应用程序构造器工具和最终用户才能找到JavaBean提供的属性,然后查询或修改属性值,对bean进行操作。JavaBean还可以对属性值的改变作出及时的反应。比如一个显示当前时间的JavaBean,如果改变时钟的时区属性,则时钟会立即重画,显示当前指定时区的时间。
(2) 方法(method)
JavaBean中的方法就是通常的Java方法,它可以从其他组件或在脚本环境中调用。默认情况下,所有bean的公有方法都可以被外部调用,但bean一般只会引出其公有方法的一个子集。
由于JavaBean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。JavaBean严格遵守面向对象的类设计逻辑,不让外部世界访问其任何字段(没有public字段)。这样,方法调用是接触Bean的唯一途径。
但是和普通类不同的是,对有些Bean来说,采用调用实例方法的低级机制并不是操作和使用Bean的主要途径。公开Bean方法在Bean操作中降为辅助地位,因为两个高级Bean特性--属性和事件是与Bean交互作用的更好方式。
因此Bean可以提供要让客户使用的public方法,但应当认识到,Bean设计人员希望看到绝大部分Bean的功能反映在属性和事件中,而不是在人工调用和各个方法中。
(3) 事件(event)
Bean与其他软件组件交流信息的主要方式是发送和接受事件。我们可以将bean的事件支持功能看作是集成电路中的输入输出引脚:工程师将引脚连接在一起组成系统,让组件进行通讯。有些引脚用于输入,有些引脚用于输出,相当于事件模型中的发送事件和接收事件。
事件为JavaBean组件提供了一种发送通知给其他组件的方法。在AWT事件模型中,一个事件源可以注册事件监听器对象。当事件源检测到发生了某种事件时,它将调用事件监听器对象中的一个适当的事件处理方法来处理这个事件。
由此可见,JavaBean确实也是普通的Java对象,只不过它遵循了一些特别的约定而已。
B. android 混淆为什么不能混淆bean
bean本身是可以混淆的,但是bean一般会被gson等序列化,如果混淆会导致找不到变量,如果写法上规范是可以混淆的
C. android怎么将javabean转换成json
前提条件是javaBean必须有getter和setter方法而且,必须有无参的构造方法
package com.cn.parse_json;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.lang.reflect.Field;
import org.json.JSONObject;
import android.os.Environment;
import android.util.Log;
import android.widget.Toast;
public class ParseJson2BeanUtils {
public static <T> T parseJson2Bean(JSONObject object,Class<T> clazz ) throws Exception{
FileInputStream fis = new FileInputStream("/mnt/sdcard/json.txt");
int len = fis.available();
byte[] buffer = new byte[len];
fis.read(buffer);
object = new JSONObject(new String(buffer));
T newInstance = null;
Field[] fields = clazz.getFields();
//只要保证clazz有一个无参的public构造方法就不可能发生异常
try {
newInstance = clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
for(int i = 0;i< fields.length;i++){
String name = fields[i].getName();
//不可能发生的异常
try {
String jsonName = name.replaceFirst(name.substring(0, 1), name.substring(0, 1).toUpperCase());
if(object.has(jsonName)){
if(jsonName.equals("ResultCode")){
fields[i].set(newInstance, object.getInt(jsonName));
}else{
fields[i].set(newInstance, object.getString(jsonName));
}
Log.i("name", name+"****");
}
//Log.i("name", jsonName+":"+object.has(jsonName)+object.getString(jsonName));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return newInstance;
}
}
D. 安卓手机怎么nfc
查找手机中的NFC功能,以小米手机为例,具体步骤如下:
1、在手机的主页面,找到“设置”的图标点击进入。
2、在设置列出的选项中,找到“更多的连接方式”点击进入
3、在列出的功能中就有NFC模块,打开手机NFC,显示允许手机在接触其它设备时交换数据。打开后下方的一些选项也由灰色变成黑色。
4、NFC用到钱包时候,可以选择默认的钱包,比如你在用支付的时候可以设置这个选项。
5、触摸付款。选择那些应用能够使用此方式付款。
6、开启Android bean,这个可以打开可以不打开。用来分享两台设备之间的内容。
扩展
以华为荣耀手机为例,演示安卓系统怎样使用NFC功能支付:
1、打开手机设置
2、点击更多
3、点击NFC选项
4、将NFC功能向右滑动,打开NFC功能,华为手机需要将下面的选项也打开。这时手机的NFC功能已经打开,可以使用了。
5、接下来,我们下载支持NFC支付的第三方软件就可以使用了,现以通勤宝APP充值北京公交卡为例,首先下载通勤宝APP。
6、打开软件
7、注册登录
8、点击右上角公交卡图标
9、绑定卡片
10、点击NFC充值
11、这时会提示“请将卡片贴在手机背面”,将公交卡放在手机背面NFC感应区。
12、如果NFC感应成功,会出现充值界面,点充值
13、任选一种充值方式,充值成功后,就可以使用了。