- 博客(35)
- 资源 (60)
- 收藏
- 关注
转载 Android JNI实例代码(二)
<br />我们继续Android JNI开发中的常用代码,第二部分将包含如何在JNI中构造实例化一个Java类以及异常处理的具体方法,有关前一部分的内容可以查看Android JNI实例代码(一) 。<br /> 三、在JNI中构造和实例化Java类<br />public class AndroidJniDemo4{ public static native void constructClass(); //JNI方法 public static void main(String[] a
2010-12-30 15:10:00 2273
转载 Android JNI实例代码(一)
<br />前几天有关Android JNI开发系列教程中有关的源代码,可以在本文中查找:<br />一、 在JNI中执行Java方法<br />class AndroidJniDemo { private native void executeMethod(); private void show() { System.out.println("Java cwj print"); //执行了show方法后打印java层的输出 } public static void main(S
2010-12-30 15:07:00 2497
转载 Android JNI开发高级篇
<br />有关Android JNI开发中比较强大和有用的功能就是从JNI层创建、构造Java的类或执行Java层的方法获取属性等操作。<br /> 一、类的相关操作<br /> 1. jclass FindClass(JNIEnv *env, const char *name); 查找类 <br /> 该函数可能做过Java开发的不会陌生,这个是JNI层的实现,需要注意的是第二个参数为const char*类型的,我们如果从Java从层传入unicode编码的jstrin
2010-12-30 15:00:00 1778
转载 Android JNI开发进阶篇
<br />主要讲解下昨天需要详细说明有关Java JNI相关的异常处理、线程安全问题,在JNI中产生的异常主要是内存不足OutOfMemoryError、数组越界ArrayIndexOutOfBoundsException、数组赋值类型错误ArrayStoreException以及指针越界等问题。简单的我们昨天在 Android JNI开发提高篇中已经讲到。<br /> 除了Throw或ThrowNew来抛出异常外,还提供了5个函数来处理,分别为jthrowable Excep
2010-12-30 14:59:00 1994 1
转载 Android JNI开发提高篇
<br />有关JNI的开发技术,我们继续围绕Android平台进行,JNI可以支持C或C++,从目前为止我们写过的JNI代码均为C实现的,即文件名为.C而C++的和这些有什么不同呢? Android平台上的JNI一般使用C还是C++编写呢?<br /> Android平台在中间层和大部分的类库的底层使用了C++的开发方式,后缀为.cpp,比如Android Framework、OpenCore、Webkit、SQLite等等。使用C++好处就是可以使用很多库但目前Android不支持STL,我
2010-12-30 14:57:00 4486
转载 Android JNI开发入门篇
<br /> 1. 有关JNI的类型方法表示,很多网友不明白,下面Android开发网就,基本上C层面的类型均是j+java过去的类型,比如字符串在JNI的c层面为jstring而Java为String,对于布尔类型boolean则为jboolean对应Java中的boolean。<br /> 2. 有关Java类的表示在JNI中对应关系如下 <br /> long cwjInfo (int nAge, String sName, int[] arrSalary); <br /> 我
2010-12-30 14:54:00 1910 1
转载 Android NDK开发技巧二
<br /> Android NDK对于我们的作用和基本常识在 Android NDK开发技巧一 中已经讲明了,今天谈论下实战的技巧吧<br /> 1. 在JNI中打印Logcat,首先我们需要在cpp文件中加入 #include <android/log.h> 这个头文件,NDK有关android自己的就给我们这个唯一的文件log.h,其他的需要我们自己hack diy来解决。<br /> jstring jlog; //从Java传来需要打印的字符<br /> jboolean is
2010-12-30 14:51:00 1387
转载 Android NDK开发技巧一
<br />平时我们开发Android应用时可能部分要求由于性能问题需要使用NDK来实现,比如OpenGL、OpenCore这样的多媒体应用,使用本地C/C++语言可以处理一些性能敏感或复杂的算法,Android123就我们日常NDK开发中遇到的问题以及技巧逐一总结方便网友查阅。<br /> 1. Android NDK编译的应用可以运行在Android 1.5或更高的操作系统上,在Android平台中本地调用主要通过JNI方式处理,JNI调用开销不小如果很简单的操作没有必要画蛇添足。<br
2010-12-30 14:49:00 1157
转载 Android NDK r5 windows系统上安装
<br /> android-ndk-r5:<br />http://androidappdocs.appspot.com/sdk/ndk/index.html<br /> Cygwin:<br />http://www.cygwin.com/setup.exe<br />
2010-12-30 14:26:00 1890
原创 cygwin的安装和简单配置
<br />windows和linux各有其优越性,可以安装在同一台电脑上,但切换要重启。同时拥有两台电脑,一台装win,一台装linux,自然非常好,但具备此条件的不多。本文介绍cygwin,它可以让你在win下拥有linux开发环境,并且不用切换。<br /><br />
2010-12-30 13:25:00 866
转载 android 实现可拖动的Button
<br />DraftTest.java<br />package com.cn.lhq;import android.app.Activity;import android.os.Bundle;import android.util.DisplayMetrics;imp
2010-12-29 17:46:00 2071 3
转载 Android中的长度单位详解(dp、sp、px、in、pt、mm)
<br />看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密
2010-12-29 16:49:00 702
原创 判断一个屏是横屏还是竖屏
/* First, get the Display from the WindowManager */ Display display =((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
2010-12-28 15:38:00 1452
原创 判断真机还是模拟器
<br />TelephonyManager telmgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String deviceID = telmgr.ge
2010-12-28 15:30:00 1079
原创 获得自己程序的版本
<br />private String mVersion; public String longVersion() { if (mVersion == null) { PackageManager pm =
2010-12-28 15:26:00 568
原创 得到安装程序的大小
<br />PackageManager pm = getPackageManager(); Method getPackageSizeInfo = pm.getClass().getMethod( "getPackageSizeInfo", String.cla
2010-12-28 15:22:00 991
原创 得到安装程序的名字
<br />ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);List l = am.getRunningAppProcesses();Iterator i = l.it
2010-12-28 15:18:00 816
原创 播放系统默认铃声
<br />Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource
2010-12-28 15:17:00 1808
原创 intent传递数组
<br />Bundle b=new Bundle();b.putStringArray(key, new String[]{value1, value2});Intent i=new Intent(context, Class);i.putExtras(b);Bund
2010-12-28 14:48:00 1353
原创 service 里面使用toast
<br />public class ConnectionService extends Service { private Handler handler = new Handler(); public void restartConnection(){ int sleepTime = reconnectCounter * MIN_RECON_WAIT; if (sleepTime > MAX_RECON_WAIT) { sleepTi
2010-12-28 14:46:00 1555
原创 Android控件TextProgressBar进度条上显文字
<br />Android系统的进度条控件默认的设计的不是很周全,比如没有包含文字的显示,那么如何在Android进度条控件上显示文字呢? 来自Google内部的代码来了解下,主要使用的addView这样的方法通过覆盖一层Chronometer秒表控件来实现,整个代码如下<br
2010-12-28 14:23:00 1056
原创 手势识别兼容Android 1.x和2.x的代码
<br /> 由于Android 2.x开始很多API变动比较大新增了一些比如多点触控的支持,对于屏幕触控手势识别中我们需要考虑更多的实现方法,下面是一段兼容Android 1.x和2.x的代码,可以让我们的程序兼容几乎99%的Android手机。<br /> 一、首先新建一
2010-12-28 14:18:00 1130
原创 Android流量统计TrafficStats类的使用
<br />对于Android流量统计来说在2.2版中加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析。android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计。<br /> static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,
2010-12-28 14:14:00 1358
原创 Android 对话框大全
<br /> Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog).<br /> onCreateDialog(int):当你使用这个回调函数时,
2010-12-22 16:10:00 1641
转载 Android开发中最有效率最快的循环代码
<br />/* * How To Write Faster Loops (after Dan Bornstein, Google Engineer) */ /* 1 ( 最快 ) */for (int i = initializer; i >= 0; i--)
2010-12-20 11:35:00 1397
原创 Android文件下载进度条的实现
<br />main.xml:<br /><?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_parent"
2010-12-13 16:30:00 12850 10
原创 用java实现冒泡排序算法
冒泡排序的算法分析与改进 <br />交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。 <br />应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。 <br /><br />冒泡排序 <br /><br
2010-12-12 15:00:00 3693
原创 算法时间复杂度的计算
<br />求解算法的时间复杂度的具体步骤:<br />⑴ 找出算法中的基本语句;<br />算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。<br />⑵ 计算基本语句的执行次数的数量级;<br />只需计算基本语句执行次数的数量级,这就意味着只要保证基
2010-12-12 14:13:00 6980 1
原创 用java实现快速排序算法
1、算法思想 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。(1) 分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原
2010-12-12 10:56:00 1280
原创 Android模仿Buttonbar(style="@android:style/ButtonBar")
<br />要涉及这样的一个buttonbar,主要就是要用到style="@android:style/ButtonBar"这个风格。首先还是来看xml的设计,保存layout/bottombtn.xml<br /><?xml version="1.0" encoding="u
2010-12-10 10:12:00 2385
转载 android 通过 button 弹出 option menu 和 context menu
<br />一,android 通过 button 弹出 option menu:<br />public class TestOptionsMenu extends Activity implements OnClickListener{ /** Called when
2010-12-10 10:08:00 3329 1
原创 ListView与Button的共存问题解决(点击事件)
<br />最重要的是在linearLayout中加上如下代码:<br />android:descendantFocusability="blocksDescendants"<br />和<ImageButton>中<br />android:focusable = "fa
2010-12-10 10:04:00 1490
原创 Android控件隐藏方式
<br />1、在在XML文件里设置属性隐藏:<br />android:visibility="invisible"<br /> <br />2、java代码里设置:<br />.setVisibility(View.INVISIBLE);<br /> <br />如果隐藏后,
2010-12-06 17:46:00 17766 1
原创 Android创建和删除桌面快捷方式
<br />1 、创建<br />/** * 为程序创建桌面快捷方式 */private void addShortcut(){ Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORT
2010-12-04 16:18:00 1873
原创 Android悬浮控件
<br />闲话不多说,直接上代码:<br /> <br />FloatingViewApp.java:<br />package com.cn.lhq;import android.app.ListActivity;import android.os.Bundle;imp
2010-12-03 15:25:00 2854 2
java面试题及答案(基础题122道代码题19道).
2010-04-02
MySQL-Front
2009-07-28
Android开发指南中文版android1.5
2010-04-02
Android Eclipse开发教程
2010-04-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人