`
文章列表
1.简介           ViewFlipper extends ViewAnimator,Simple ViewAnimator that will animate between two or more views that have been added to it. Only one child is shown at a time. If requested, can automatically flip between each child at a regular interval。            简单的ViewAnimator 可以在两个或两个以上的视图间实现动画 ...

socket 的使用

     socket通信分为tcp和udp两种。     1、 Socket通信模型如下:      2、  UDP协议:        把数据打包成数据包,然后直接发送对应的ip地址,速度快,但是不保证成功率,并且数据大小有限TCP协议:        首先连接接收方,然后发送数据,保证成功率, 速度慢 3、 TCP通信方式如下:        而UDP通信不使用InputStream和OutputStream   4、 UDP通信实现:UDP使用DatagramSocket对象来实现,UDP的客户端代码实现如下:   public static void m ...
1.冒泡排序      基本思路是:搜索整个值列,比较相邻元素,如果两者的相对次序不对,则交换它们,其结果是最大值“像水泡一样”移动到值列的最后一个位置上,这也是它在最终完成排序的值列中合适的位置。然后再次搜索值列,将第二大的值移动至倒数第二个位置上,重复该过程,直至将所有元素移动到正确的位置上。      时间复杂度O(n2),最佳情况是已排好序只比较n-1次,不用交换。    int[] bubbleSort(int[] a) { //每个都进行冒泡(一个一个来) for (int i = 0; i < a.length; i++) { //和前n- ...
      同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。      算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是度量算法执行的时间长短;而空间复杂度是度量算法所需存储空间的大小。 1、时间复杂度     1.1 时间频度             一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)      1.2 时间复杂度          一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f( ...

traceview的使用

  android的世界真大,要不就是我接触的太少。据说了一种叫traceview的工具,是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。  1.在开始使用TraceView你要注意:   你的设备和模拟器必须设置SD card 和 你的程序拥有对SD card 具有读写操作的权限( <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />) 2.在你的程序中使用TraceVie ...
1 apk反编译   有时候,写不出来一个好的应用,或者没有思路,那么可以借鉴其他的apk,那么就有了反编译。   A 得到Java源代码   工具下载:需用到dex2jar和JD-GUI这2个工具 dex2jar下载地址:        http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zipJD-GUI下载地址:  windows版JD-GUI:        http://laichao.googlecode.com/files/jdgui.zip  Linux版JD-GUI:        http://l ...
     发现有时候,不会的先去网上搜,网上再不满意那就看文档。很能解决问题的一个办法。哈哈 也许你们早就发现了吧。      要实现功能如下:       左右两个EditText,均显示当前时间,当点击某一个时,出现日期或者时间控件,可以对其进行修改。前提是不用xml写。  上代码吧 (*^__^*) 嘻嘻 // 用来保存年月日: private int mYear; private int mMonth; private int mDay; // 声明一个独一无二的标识,来作为要显示DatePicker的Dialog的ID: static final int D ...

adb 命令

 adb(AndroidDebugBridge)是Android提供的一个通用调试工具,借助这个工具,可以管理设备或手机模拟器的状态。 1 adb 常用操作: 安装应用到模拟器 adb   install   app.apk 查看Bug报告 adb  bugreport   记录无线通讯日志 无线通讯记录日志非常多,在运行时没必要记录,可以通过命令设置记录 adb  shell logcat  -b   radio 2 Android没有提供一个卸载应用的命令,只能手动删除:  adb  shell cd     data/app rm     app.apk   3 ...

Dalvik虚拟机

1 Dalvik虚拟机和标准Java jVM虚拟机的区别   Dalvik基于寄存器,而JVM基于栈。,基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费 的时间更短。   2 Dalvik和Java运行环境的区别     Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的 Linux进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭.   3 相关文件类型    a  class文件--Java编译后的目标文件     不像J2se,java编译成class就可以直接运行,android平 ...
这篇文章主要是记载关于android的分辨率相关问题,比如自适应大小等等。日日累计,必成。嘿嘿 1.其中的new指的是4.0的 QVGA (240x320, low density, small screen) QVGA(240X320,密度低,小屏幕) WQVGA400 (240x400, low density, normal screen) WQVGA400 ...
想实现一个功能,在当前页面布局上再加载一个xml作为它的子类,最后终于找到了,谢谢作者们啊嘿嘿 // 加载子Layout View mBarView = View.inflate(this, R.layout.main_panel, null); // 找到容器 LinearLayout panel_center = (LinearLayout) findViewById(R.id.panel_center); // 加上View 结束 panel_center.addView(mBarView);  
今天想实现一个功能,即在应用安装初始化时,创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据。 1 首先需要写一个类实现android中的SQLiteOpenHelper类。代码如下:   public class DatabaseHelper extends SQLiteOpenHelper ...
 写了一个程序专门从数据库查询数据,查是查出来了,但是居然是乱码。 从网上找个解决方法,果然可以。谢谢无私奉献的人们。 原来是:   Car car=new Car(); car.setCompany_name(cursor.getString(0));   现在是: Car car=new Car(); //解决中文乱码问题 byte[] val = cursor.getBlob(cursor.getColumnIndex("company_name")); car. ...
1.设置布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_pa ...
一 接收来自App Widget的广播    1.在AndroidManifest.xml为AppWidgetProvider注册新的intente-filter;    2.使用getBroadcast()创建一个PendingIntent;    3.为App Widget中的控件注册处理器;    4.在onReceive方法中接收广播; a.布局文件中有个Button <Button android:id="@+id/widgetButtonId" android:layout_width="fill_parent&qu ...
Global site tag (gtag.js) - Google Analytics