我今天来了以为会给我工作呢。可是,来了之后也没有给我分配什么任务。看来是经理还没有写完文档什么的。
然后我就开始做我的最近联系人。刚开始想让他先加载10条,当用户下拉的时候在进行加载。但是这样应该也是很慢的
因为将数据加载到listview中是需要时间的。那么我还不如让软件刚开始打开的时候就开始进行加载到数据库。那么
用户在点击最近联系人的时候就可以直接加载到页面了。这样应该是比较方便的。
看了下sqlite怎么查询前十条记录。使用limit 10
果我要去11-20的Account表的数据 Select * From Account Limit 9 Offset 10; 以上语句表示从Account表
获取数据,跳过10行,取9行嗯,我觉得这个特性足够让很多的web中型网站使用这个了。也可以这样写
select * from account limit10,9和上面的的效果一样。
通用公试: sql = "select * from FlyCrocodile where
"+条件+" order by "+排序+" limit "+要显示多少条记录+" offset "+跳过多少条记录;
如: select * from flycrocodile limit 15 offset 20 意思是说:
从flycrocodile表跳过20条记录选出15条记录
测试了下从查询通讯录到加载到listview中,所用的时间。
long startTime = System.nanoTime();
long consumingTime = System.nanoTime();
System.out.println((consumingTime-startTime)/1000000000 + " 秒");
今天中午从十一点开始写将一个字符串写入一个文件夹中。
搞了半天结果忘了写权限。。。我这个脑子啊。。。直接无语啊。以后写什么程序,先吧权限考进去。在写。
写了一个java,android调用一个类的private方法。
发现居然可以利用java的反射机制去调用其他类的私有方法
Class ioClass = Io.class;
//获得私有的method对象,第一个参数为方法名称(大小写严格区分),第二个参数为该方法参数的类型,如果没有参数可设置为null
try {
Method method = ioClass.getDeclaredMethod("save",
new Class[] {Context.class,String.class });
//这句是调用私有方法的关键,如果参数为true则虚拟机取消java语言的访问检查
method.setAccessible(true);
//执行私有方法,第一个参数为要执行的对象(已实例化的),第二个参数代表该方法的参数值,如果没有参数可设置为null
method.invoke(ioClass.newInstance(),
new Object[] {MainActivity.this,"zhang"});
然后这是将一个string写到一个文件
private void save(Context context , String content) {
String path = getSDPath();
String path_package = context.getApplicationInfo().packageName;
String paths = "/data/data/"+path_package+"/PhoneBill";
String allPath = path + paths;
FileWriter ostream = null;
System.out.println(allPath);
File file = new File(allPath);
try{
if (!file.exists()) {
file.mkdirs();
System.out.println("正在创建文件夹");
System.out.println(file.exists());
}
File iflFile = new File(allPath+"a.txt");
if (!iflFile.exists()) {
iflFile.createNewFile();
System.out.println("正在创建文件");
}
//AssetManager am = context.getAssets();
ostream = new FileWriter(allPath+"a.txt");
ostream.write(content);
System.out.println("copy 成功。。。");
ostream.close();
FileReader fileReader = new FileReader(allPath+"a.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
System.out.println(bufferedReader.readLine());
}
catch(Exception e){
e.printStackTrace();
try{
System.out.println("copy出错了。。。。");
if(ostream!=null)
ostream.close();
}
catch(Exception ee){
ee.printStackTrace();
}
}
System.out.println("开始return........");
}
public String getSDPath(){
File sdDir = null;
//判断sd卡是否存在
boolean sdCardExist = Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED);
if(sdCardExist){
//获取根目录
sdDir = Environment.getExternalStorageDirectory();
}
return sdDir.toString();
}
刚才和那个群里的人聊天。虽然一眼就能看出他不会写程序,但是说的还是很有道理的。要按照文档来。