05 2013 档案

摘要:通过本案例,主要学习以下几点:(1)通过查看api文档,找到实现相应功能所需要的,intent的action属性,其对应的extra字段,以及所需要的相关权限。(2)对于仅在后台运行的服务,如何开启。例如本案例并没有前台界面,仅仅需要在后台开启一个servcie进行实时监听,然而service需要启动时机,因此考虑利用广播来启动。监听系统开机的广播事件,在其receive方法中,开启后台服务。(考虑过如果仅仅监听来电,是否可以在onreceive方法中之间为系统的telephoneService设置对应的监听事件,不过这种方法,总比不上自己重写一个服务更优美《一方面因为onrecive的周期大 阅读全文
posted @ 2013-05-27 20:44 bobo的学习笔记 阅读(450) 评论(0) 推荐(0)
摘要:1,布局文件中的命名空间和自定义组建关系紧密,指定的是自定义组建的预定义属性R.java的位置。 阅读全文
posted @ 2013-05-26 18:40 bobo的学习笔记 阅读(106) 评论(0) 推荐(0)
摘要:应用开发中出现这种需求,需要统计链接点击事件的记录,并在每次退出应用时向服务器上传本次使用应用过程中所有的事件记录。首先将事件封装为一个实体类:package com.wotlab.home.moneyplantairs.entity;import java.io.Serializable;import java.text.SimpleDateFormat;import java.util.Date;import android.content.Context;import android.net.sip.SipRegistrationListener;import android.telep 阅读全文
posted @ 2013-05-24 11:11 bobo的学习笔记 阅读(915) 评论(0) 推荐(0)
摘要:在开发中碰到这么一种需求,每次打开应用时候,需要将应用中某个按钮点击的次数进行统计,上传至服务器。这样就需要保存每次打开应用时候的点击信息。背景知识,几种变量的生存周期:(1)类变量,其生存周期和类的生存周期相同,(经历创建->加载->销毁几个阶段);其加载一般发生在第一次创建类的实例或者调用类的方法时候发生。销毁一般在程序运行结束,jvm退出的时候关闭(2)实例的成员变量,其生存周期和实例对象的生存周期相同(经过创建、初始化、销毁等几个阶段)。其创建一般发生在new该对象时,销毁一般有java自动回收机制完成,当不存在对该对象的引用时,垃圾回收器会考虑将对象回收。(3)final 阅读全文
posted @ 2013-05-24 09:59 bobo的学习笔记 阅读(663) 评论(0) 推荐(0)
摘要:数据结构小结:1,线性表静态线性表:结构(包含一个数组,长度);下标的计数是从1到MAXSIZE链表:链表具有头节点,头节点一般不放置具体的元素,头指针指向头节点,链表为空的标志为头节点的后继为空。2,栈(后进先出)静态栈:栈结构体中包含数组和栈顶指针,栈顶指针指向栈顶元素。(数组从0开始计时);初始化的时候栈顶指针=-1;栈的长度为top指针+1;链栈:栈顶指针依旧指向栈顶元素。(指针方向是从栈顶指向栈尾)3,队列静态循环队列:队列具有头指针和尾指针,头指针指向头部的第一个元素,尾指针指向尾部元素的下一个元素。初始化的时候:q->front=q->rear=0;队列的长度为:(q 阅读全文
posted @ 2013-05-22 20:04 bobo的学习笔记 阅读(605) 评论(0) 推荐(0)
摘要:在开发过程中碰到了gestureDetector方法不能触发的问题,解决方法是:1,网站上一种方法是设置setLongClickable(true)的属性,但此种方法没有解决自己的问题。2,最终找到的解决办法是:由于令activity实现了OnGestureListener接口,重写activity的onDown方法,令其返回true深入的考虑,这涉及到各种手势的触发条件及顺序,详见下面这篇博客http://blog.csdn.net/xiezhenxiang/article/details/6659506 阅读全文
posted @ 2013-05-21 16:57 bobo的学习笔记 阅读(153) 评论(0) 推荐(0)
摘要:调用系统图库得到所有图片的代码是:Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(intent, REQUEST_PHOTO_OTHER);之后在activity的onAcitivityResult方法中处理得到的数据: if(requestCode == this.REQUEST_PHOTO_OTHER){ ... 阅读全文
posted @ 2013-05-20 16:46 bobo的学习笔记 阅读(1417) 评论(0) 推荐(0)
摘要:本功能实现的是调用相机拍照,并利用img标签显示:思路一:拍照时刻进行保存package com.bobo.mypic;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;import com.bobo.util.BitmapUtil;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import android.app. 阅读全文
posted @ 2013-05-20 16:16 bobo的学习笔记 阅读(656) 评论(1) 推荐(0)
摘要:题外话:1,android中的布局,其实可以优先考虑RelativeLayout,利用 android:layout_below这个属性来实现类似于线性布局的垂直布局,并且相较而言具有更大的灵活性2,关于控件,甚至外围布局的android:layout_width、android:layout_height属性,不必排斥赋予具体的数值,不过为了更好的适配,考虑利用dip,sp为单位3,margin,padding等可以为负值,(这样能产生帧布局类似的重叠效果?)回归正题,android中实现圆角矩形:<?xml version="1.0" encoding=" 阅读全文
posted @ 2013-05-19 19:45 bobo的学习笔记 阅读(2174) 评论(0) 推荐(0)
摘要:在具体项目的开发中,通常需要解决乱码的问题。 //检查系统支持哪些字符集 Charset.availableCharsets(); //检查系统支持的默认字符集 Charset.defaultCharset(); //检查系统是否支持某种具体的字符集 Charset.isSupported("UTF-8");byte[]——>String //将字节数组转换为字符串 public String byte2String(byte[] bytes, String charset) { tr... 阅读全文
posted @ 2013-05-13 13:44 bobo的学习笔记 阅读(491) 评论(0) 推荐(0)
摘要:利用URLConncetion,HttpURLConnetion,HttpClient都可以发送网络的get,post请求,三者封装的程度由低到高,低级类能够实现的功能,高级类也能够实现例如;发送网络请求下载apk的时候:利用HttpURLConnetion,自己的代码如下public void downLoadApkByConnection(String urlString, ProgressDialog pd) { BufferedInputStream bis = null; FileOutputStream fos = null; Buffer... 阅读全文
posted @ 2013-05-12 11:22 bobo的学习笔记 阅读(273) 评论(0) 推荐(0)
摘要:一、获取raw下的文件流 //android获取各个文件夹下的文件流 InputStream is=this.getResources().openRawResource(R.raw.aaa); 二、获取data/data/包名/files下的文件//从data/data/包名/files写入文件 FileOutputStream fos=openFileOutput("fileName", Activity.MODE_PRIVATE); FileInputStream fis=openFileInput("fileName");三... 阅读全文
posted @ 2013-05-11 13:27 bobo的学习笔记 阅读(747) 评论(0) 推荐(0)
摘要:System.out.println(Environment.getExternalStorageState()); System.out.println(Environment.getDataDirectory().getAbsolutePath()); System.out.println(Environment.getExternalStorageDirectory().getAbsolutePath()); System.out.println(Environment.getRootDirectory().getAbsolutePath());... 阅读全文
posted @ 2013-05-11 11:39 bobo的学习笔记 阅读(697) 评论(0) 推荐(0)
摘要:首先需要建立几个辅助类:一、ConnectUtil类,判断时候具有可用网络,需要借助系统的ConnectivityManagerpublic class ConnectUtil { public static boolean isConnect(Context context){ ConnectivityManager manager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if(manager!=null){ Networ... 阅读全文
posted @ 2013-05-11 11:23 bobo的学习笔记 阅读(447) 评论(0) 推荐(0)
摘要:在实际开发中经常会碰到乱码问题:首先查看系统支持的编码方式,默认的编码方式 //检查java支持的编码 System.out.println(Charset.availableCharsets().toString()); //检查系统默认的编码方式 System.out.println(Charset.defaultCharset()); //检查某种编码方式系统是否支持 System.out.println(Charset.isSupported("GBK"));根据打印的结果,android默认支持的编码方式为U... 阅读全文
posted @ 2013-05-10 19:38 bobo的学习笔记 阅读(4078) 评论(0) 推荐(0)
摘要:当需要适配不同的屏幕的时候,可能需要用到以下几点:关于单位的一点说明:1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这 这个,不依赖像素。 dip的换算: dip(value)=(int) (px(value)/1.5 + 0.5) 2. dp: 很简单,和dip是一样的。 3. px: pixels(像素),不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就永远是多少不会改变。 4. sp: scaled pixels(放大像素). 主要.. 阅读全文
posted @ 2013-05-09 21:50 bobo的学习笔记 阅读(494) 评论(0) 推荐(0)
摘要:在百度地图的开发中,出现了这样的问题,在地图坐标的标注中,需要将布局文件转换为bitmap或者drawable对象。从资源文件中获取bitmap对象: BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);从资源文件中获取drawable对象 getResources().getDrawable(R.drawable.ic_launcher)将布局文件转换为view的代码如下:// 将布局文件转换view对象 private View convertLayoutToView(int layout... 阅读全文
posted @ 2013-05-09 17:31 bobo的学习笔记 阅读(567) 评论(0) 推荐(0)
摘要:所谓单一职责原则:就一个类而言,仅仅只有一个引起他变化的原因。开-闭原则:对程序改动是通过增加新代码进行的,而不是更改现有的代码。将程序中呈现出频繁变化的部分进行抽象。依赖倒转原则:A,抽象不应该依赖于细节,细节应该依赖于抽象。就是要针对接口编程,不要针对实现编程。 B,高层模块不应该依赖低层模块,两者都应该依赖于抽象。里氏代换原则:子类型必须能够替换掉他们的父类型。或者说高层模块和低层模块之间通过接口或者抽象类对接,谁也不需要依靠谁,除了约定的接口,大家都可以灵活自如。如果程序中所有的依赖关系都是终止与抽象类或者接口,就是面向对象的设计,反之就是过程化的设计了。 阅读全文
posted @ 2013-05-08 19:49 bobo的学习笔记 阅读(279) 评论(0) 推荐(0)
摘要:1,viewgroup是view的子类,具有四类(线性布局,祯布局等)。对于具体被摆放控件的位置,通过layoutparams来控制,该类是viewgroup的内置类。对于四种viewgroup,都对应一种具体实现。2,view(context,attrs)这个构造方法主要用于自定义控件,可以为其创建自定义的属性。3,动态添加控件的时候,控件本身的相关属性可以动态设置,而相对于父控件的位置信息则需要通过layoutparams来进行设置。其层次继承关系是viewgroup——>MarginLayoutParams-->FrameLayout.Layoutparamas,Linear 阅读全文
posted @ 2013-05-05 10:28 bobo的学习笔记 阅读(159) 评论(0) 推荐(0)