随笔分类 - Android
摘要:在Android中,弹出对话框使用AlertDialog.Builder方法。 new AlertDialog.Builder(MainActivity.this).setTitle("本机设置") .setView(view) .setPositiveButton("确定",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface v, int arg1...
阅读全文
摘要:Android退出时,有的Activity可能没有被关闭。为了在Android退出时关闭所有的Activity,设计了以下的类://关闭Activity的类public class CloseActivityClass{ public static List activityList = new ArrayList(); public static void exitClient(Context ctx) { // 关闭所有Activity for (int i = 0; i < activityList.size(); i++) { if (null...
阅读全文
摘要:不论是PC还是移动设备,都有可能同时存在几个IP地址(如具有多块网卡),本文介绍怎样获得PC或移动设备的所有IP地址。 // 获得所有IP地址 public static void get_ip(){ String address; Enumeration netInterfaces; NetworkInterface ni; Enumeration cardipaddress; InetAddress ip; try { netInterfaces = N...
阅读全文
摘要:使用UDP数据包发送文件时,由于UDP数据包大小的限制,一个文件要放在几个UDP数据包里面发送,这就需要把一个文件分割成若干部分,分别放进若干个UDP数据包里面,在接收端,收到这些UDP数据包以后,再对文件进行组装,从而得到一个完整的文件。定义的相关变量: // 要分割的文件 public static RandomAccessFile raf_split; // 要合并的文件 public static RandomAccessFile raf_merge; // 文件长度 public static long len; // Byte数组 public static int offset;
阅读全文
摘要:Java的Socket通信分为TCP和UDP两种,Socket和ServerSocket类用于TCP通信,DatagramSocket用于UDP通信。使用DatagramSocket发送UDP数据包时,首先new一个DatagramPacket,再给DatagramPacket设定目的地的IP地址和端口,然后使用DatagramSocket发送出去。 DatagramSocket sct; DatagramPacket pkt; try{ pkt = new DatagramPacket(b_total,2); pkt.setAddress(Ine...
阅读全文
摘要:首先是xml布局文件: MainActivity中定义按钮的点击监听器,按下按钮时开始录音,松开按钮时停止录音,类似于微信的操作方法。 // 获得控件 public void get_con(){ btn_talk = (Button)findViewById(R.id.btn_talk); btn_talk.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent e) { if (e.getAction() == MotionE...
阅读全文
摘要:为了实现无线鼠标,需要识别出用户在手机屏幕上的滑动动作,这就需要用到GestureDetector类。首先是activity_main.xml: 运行后的效果:中间的空白区即是用户操作鼠标的区域,为了识别用户的动作,定义Mouse_GestureListener类,该类继承自GestureDetector.SimpleOnGestureListener:class Mouse_GestureListener extends GestureDetector.SimpleO...
阅读全文
摘要:为了实现无线键盘的功能,使用了InputMethodManager弹出软键盘。 // 弹出软键盘 public void pop_keyboard(){ imm = (InputMethodManager)ctx.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); }同时监听了按键事件onKeyDown。 public boolean onKeyDown(int keyCode, KeyE...
阅读全文
摘要:在(1)中,实现了Windows服务端与Android客户端的连接,本节将实现在Windows服务端与Android客户端之间传递数据。Android客户端的发送线程SendThread.java代码:package com.hzhi.mouse_mb;import java.io.DataOutputStream;import java.net.Socket;import android.os.Bundle;import android.os.Message;import android.util.Log;public class SendThread extends Thread { p.
阅读全文
摘要:把手机作为移动鼠标、键盘使用非常方便,本文将实现这一功能。该应用分为两部分:Windows服务端和Android客户端。本文源代码的下载地址:http://download.csdn.net/detail/k_c_u_f/6673245。Windows服务端的工程目录如下:fMain是服务端的主界面,tListen是服务端的监听线程,tReceive是服务端的接收线程。Android客户端的工程目录如下:MainActivity是客户端的主Activity,ConnectThread是客户端的连接线程,SendThread是客户端的发送线程。Java语言的通信有Socket(套接字)和HTTP
阅读全文
摘要:Android可以使用Monkey向应用发送一连串的随机操作,就好像把手机交给一只猴子让它任意操作一样,以此来检测应用是否健壮,是否容易出错或崩溃。操作的类型包括触屏、移动、按键等。Monkey的语法如下:adb shell monkey -p 也可以首先进入adb shell,再输入monkey -p 。比如,在cmd中输入以下命令:该命令将向com.hzhi.sysinfor应用发送100个随机操作,选项-v表示显示随机操作,--throttle 1000表示事件之间的间隔时间为1秒(1000毫秒)。回车后,部分手机截图如下:可见,确实对该应用发送了很多随机操作。运行命令后的cmd...
阅读全文
摘要:开发过程中,经常需要统计代码行数,这时可以通过Eclipse的Search功能来实现。步骤:1、在Package Explorer中选中需要统计的包;2、单击菜单Search-->File;3、按照下图设置Search选项:4、点击Search按钮;5、在Search窗口中就会显示该项目的代码总行数,以及各文件的行数:
阅读全文
摘要:Android中使用ActivityManager可以获得进程信息,并对进程进行管理,如结束进程等。本文使用ActivityManager获得进程列表,并结束选中的进程。首先,看看布局文件。 然后是Java文件。package com.hzhi.sysinfor;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.a...
阅读全文
摘要:由于手机内存有限,有时需要一次删除很多个包,这时就需要一个实现Android包批量删除的应用。首先是布局文件: 布局文件相对简单,最重要的是列表。然后是类文件:package com.hzhi.sysinfor;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.AlertDialog;import android.app.Li...
阅读全文
摘要:Android的版本信息可以通过android.os.Build获得,电话信息可以通过TelephonyManager获得,代码如下: private void get_infor(){ sdk = android.os.Build.VERSION.SDK;; release = android.os.Build.VERSION.RELEASE; user = android.os.Build.USER; TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_...
阅读全文
摘要:Android删除包有很多种方法,其中一种通过Intent删除,代码如下: public boolean unload (String n){ boolean res = true; try{ // 通过包名创建URI Uri pu = Uri.parse("package:" + n); // 创建Intent Intent i = new Intent(Intent.ACTION_DELETE, pu); // 执行卸载程序 startActivity(i); res = true; } catch(Exception e){ res =...
阅读全文
摘要:在一个ListActivity中,可能有很多行,如何在某个动作(如点击某个按钮)时判断哪些行的CheckBox被选中了,哪些行的CheckBox没有被选中,这是一个需要解决的问题。首先,需要让BaseAdapter的子类implements OnClickListener,然后在该类的getView()方法中添加以下代码:CheckBox chk_item = (CheckBox) my_item.chk_apk;chk_item.setOnClickListener(this);chk_item.setTag(position);获得CheckBox,再setOnClickListener。
阅读全文
摘要:getView()是BaseAdapter的一个重要方法。为了研究getView()方法,使用了以下的类。// apk列表class list_apk extends BaseAdapter{ private Context ctx; private List list_data; public list_apk(Context context){ ctx = context; list_data = new ArrayList(); } @Override public int getCount() { // TODO Auto-generated method ...
阅读全文
摘要:在ListActivity中显示图标,好像并不复杂,实现起来却不轻松。首先,定义列表中的每一行,这里不是用xml文件定义,而是用一个类定义,CheckBox、ImageView、TextView等控件以addView的方法添加。//apk列表的一行class item_apk extends LinearLayout{ public CheckBox chk_apk; public TextView txt_name; public TextView txt_flag; public ImageView img_apk; public item_apk(Context ctx, S...
阅读全文
摘要:简单的说,ArrayList是顺序存储,而LinkedList是链式存储。
阅读全文

浙公网安备 33010602011771号