手机移动开发
Birds2018
一生只java
展开
-
Android 异步获取网络图片Bitmap资源
这里主要是为了把获取图片的代码单独出来和UI分开,方便扩展。 public interface Callback { public void onSuccess(T obj); public void onError(String error);}线程执行结束后,回调接口,成功后调用onSuccess方法T为通用类型参数,错误调用onError public c原创 2013-10-25 21:18:58 · 5365 阅读 · 0 评论 -
NDK 4 使用Socket与服务器通信
Android是基于Linux内核的,NDK提供的头文件基本都是 posix 协议的。 如果熟悉Linux环境下的开发,其实做NDK会非常容易。下面主要演示 通过JNI Socket获取服务器响应数据 并显示在UI上面。LINUX下的C 之前接触过,不过长时间不用 又生疏了。开发工具这次使用的是:IntelliJ Community IDE比eclipse稍微只能不少。大家原创 2013-12-03 14:53:21 · 10130 阅读 · 1 评论 -
NDK 5 使用POSIX线程
Java中使用线程特别简单,实现Runnable接口 或者 继承Thread.NDK中使用线程可以在Activity中直接调用java线程,也可以通过JNI启动线程,这个线程源于POSIX中的线程库。需要使用POSIX中pthread头文件如果启动了Posix线程,是无法与Android Java层交互的,主要是因为POSIX线程中无法直接调用JNIEnv 。原创 2014-01-05 01:30:02 · 4228 阅读 · 0 评论 -
Android使用Messenger进行Service IPC通信分析
如果想要进行IPC通信,一般写一个AIDL接口,再写一个Service子类,然后实现AIDL接口 当做IBinder返回给Activity界面层。如果不想写AIDL接口文件,只是单I线程中与Service进行通信 我们可以用Android写好的Messenger类来处理,一样能将消息传递给Service进行通信。先写上基本代码:public class MyService原创 2014-09-21 15:26:37 · 7034 阅读 · 7 评论 -
Android OpenGL ES 应用(二) 纹理
上一篇讲了基础入门 OpenGL (一) ,这一次主要学习OpenGL 纹理基本学习总结要是做复杂的OpenGL应用程序,一定会用到纹理技术。纹理说白了就是把图片或者视频图像绘制到OpenGL空间中。因此纹理也有坐标系,称ST坐标,或者UV上面是纹理坐标空间,但没有固定的方向下面演示加载一张image作为纹理贴图。public class Tex原创 2015-03-17 14:03:08 · 2377 阅读 · 0 评论 -
AsyncHttpClient 获取图片和网页数据演示
AsyncHttpClient 极其好用,采用回调的方式并且是异步的,UI线程已经封装好。 https://github.com/loopj/android-async-http这个例子较为简单。先看运行结果点击按钮 从网络上获取图片和baidu首页显示出来.项目是直接用的源码,为了研究源码使用的。public class HTT原创 2015-03-17 16:21:38 · 5069 阅读 · 0 评论 -
NDK Java JNI调用
这次主要学习NDK C调用JAVA 类,这种做法可以作为回调,比如JNI层获取网络数据 然后回调JAVA层 把获取的网络数据传给应用层并显示。创建一个简单的User类,和 SimpleAction.在JNI层实例化一个User类,并附上值,传个SimpleAction类,然后JNI层调用doLogin方法 打印出User类的信息。 public class User { pu原创 2013-11-05 10:52:44 · 1308 阅读 · 0 评论 -
apache mina 长连接
apache mina 是较为流行的基于NIO的TCP/IP网络框架,她拥有高性能,以及高的实用性。 可以用于网页游戏服务器,手机游戏服务器。也可作为推送服务器使用。版本:2.0.x SocketAcceptor acceptor = new NioSocketAcceptor(); //这个构造函数有个参数,是processCount指的是core process数原创 2013-10-11 10:51:16 · 7541 阅读 · 0 评论 -
使用 Service 后台处理版本更新 并提示.
这里版本检测放在了 Service中处理,然后通过注册的 广播 来提示。public class AppUpdaterService extends Service { public IBinder onBind(Intent arg0) { return null; } public void onCreate() { super.onCreate(); new Thread(原创 2013-03-21 18:02:05 · 1067 阅读 · 0 评论 -
使用LinearLayout,ScrollView自定义ListView,
如果一个界面里面有多个ListView,还需要全屏能滚动,这样ListView无法和ScrollView 同时使用,有冲突,解决起来好像比较麻烦。使用LinearLayout 和 ScrollView自定义ListView。 public class DataModel { public DataModel(String name,String grade,Strin原创 2013-03-20 17:14:40 · 4325 阅读 · 0 评论 -
IO Stream Reading
public static byte[] readInputStream(InputStream ins) { if (ins == null) { return null; } BufferedInputStream bis = new BufferedInputStream(ins); ByteArrayOutputStream bos = new ByteAr原创 2011-12-19 09:42:44 · 713 阅读 · 0 评论 -
Service AIDL
AIDL File.package com.birds.app.arrange;import java.util.Map;import java.util.List;import android.graphics.Bitmap;interface ImageDownloadService { int getPID(); Bitmap down原创 2011-12-19 10:47:36 · 736 阅读 · 0 评论 -
GPS Location
LocationManager loctionManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); crite原创 2011-12-19 09:46:55 · 697 阅读 · 0 评论 -
蓝牙技术
Android官方文档是最好的参考资料,跟着文档一步步的,学习起来不难。手机蓝牙需要硬件支持,有的Android手机有蓝牙支持,但无法开启,无法勾,原因有很多种(水货,刷机)1. 添加权限2. 得到蓝牙配置器BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); if (a原创 2011-12-19 13:45:51 · 2908 阅读 · 2 评论 -
List item xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" a原创 2011-12-19 09:37:45 · 1400 阅读 · 0 评论 -
progress bar color
<rotate xmlns:android="http://schemas.android.com/apk/res/android" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="360"> <shape android:shape="ring" androi原创 2011-12-19 09:49:20 · 796 阅读 · 0 评论 -
Utils
public static DisplayMetrics getMetrics(Activity context) { DisplayMetrics metrics = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(metrics); return metrics;原创 2011-12-19 09:43:53 · 630 阅读 · 0 评论 -
Message Receiver
public class AlertMessageReceiver extends BroadcastReceiver { public MessageReceiver() { } @Override public void onReceive(Context context, Intent intent) { int codeId = intent.getInt原创 2011-12-19 09:55:19 · 1429 阅读 · 0 评论 -
NDK 入门
初步使用NDK在windows平台,需要下载Cygwin工具才能编译C文件,长期写JAVA,突然写C程序感觉挺爽的,O(∩_∩)O~然后到Android官方下载Android NDK. 首先创建一个简单Android Project编写一个JNI.java类,主要放置native方法 package com.birds.android.ndk;/** * @aut原创 2013-10-25 22:32:11 · 1091 阅读 · 0 评论