Android
文章平均质量分 59
csxcoder
To be or not to be !
展开
-
显示在标题上的进度条
若显示带进度的进度条: 1 requestWindowFeature(Window.FEATURE_PROGRESS); 2 setProgressBarVisibility(true); 3 setProgress(10); 若显示不带进度的进度条: 1 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);原创 2015-03-23 10:07:27 · 295 阅读 · 0 评论 -
用属性动画实现小球的落地和弹起
所有代码如下: 1 package com.example.animation; 2 3 import android.animation.Animator; 4 import android.animation.AnimatorListenerAdapter; 5 import android.animation.AnimatorSet; 6 impor原创 2015-03-23 10:06:48 · 793 阅读 · 0 评论 -
Android清空画布
public void clear() { Paint paint = new Paint(); paint.setXfermode(new PorterDuffXfermode(Mode.CLEAR)); canvas.drawPaint(paint); paint.setXfermode(new PorterDu原创 2015-03-23 10:06:36 · 2223 阅读 · 0 评论 -
向Web站点发送GET请求、POST请求
分享一个向Web站点发送GET请求、POST请求的工具类,方便以后使用。 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.MalformedURLExcepti原创 2015-04-18 16:24:48 · 703 阅读 · 0 评论 -
使用OpenGL ES绘制3D图形
使用OpenGL ES绘制3D图形需要注意的几点是: 1. Android的三维坐标系默认原点位于屏幕中央。 2. 绘制3D图形时,各个顶点的坐标是以原点为参照的,比如顶点坐标为(0.5,0,0), 表示顶点在正x轴的二分之一处。 3. 绘制前需调用glTranslatef(x, y, z) 函数设置图形的参照原点。 4. OpenGL ES绘制的原创 2015-04-15 20:14:38 · 613 阅读 · 0 评论 -
Android中<meta-data>的使用
在AndroidManifest.xml中,元素可以作为子元素,被包含在、 、和元素中,但不同的父元素,在应用时读取的方法也不同。 元素用name-value对的格式给其父组件提供任意可选的数据。一个组件元素能够包含任意多个子元素,所有这些元素中定义的值会被收集到一个Bundle对象中,并且提供给组件的PackageItemInfo.metaData属性字段。通常值是通过其value属性转载 2015-04-24 17:03:37 · 5591 阅读 · 0 评论 -
Android版多线程聊天室——ServerSocket和Socket的使用
每一个手机客户端使用Socket与服务器端进行通信,把消息发送给服务器,并监听和显示服务器端发来的消息。 使用ServerSocket创建TCP服务器端,服务器为每个Socket单独创建一个线程用来与客户端进行通信。 服务器端代码如下: import java.io.IOException; import java.net.ServerSocket; import java.原创 2015-04-17 15:53:20 · 597 阅读 · 0 评论 -
Android获取当前系统时间
Android获取当前系统时间 long time=System.currentTimeMillis(); final Calendar mCalendar=Calendar.getInstance(); mCalendar.setTimeInMillis(time); 取得小时:mHour=mCalendar.get(Calendar.HOUR); 取得分钟:mMinuts=mCalenda原创 2015-05-14 21:22:14 · 530 阅读 · 0 评论 -
HandlerThread 的使用
Android API提供了HandlerThread来创建线程。官网的解释是:Handy class for starting a new thread that has a looper.The looper can then be used to create handler classes. Note that start() must still be called.原创 2015-06-18 18:53:45 · 366 阅读 · 0 评论 -
Android中Application类用法
Application类Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类。转载 2015-06-18 17:44:46 · 351 阅读 · 0 评论 -
用3种方法在 operator= 中处理“自我赋值”
假设你建立一个class 用来保存一个指针指向一块动态分配的位图。 1 class Bitmap {......}; 2 class Widget{ 3 ... 4 private: 5 Bitmap* pb ; 6 }; 1 Widget& Widget::operator= (const Widget& rhs) 2 { 3 del原创 2015-03-23 10:06:06 · 299 阅读 · 0 评论 -
View.setTag()的作用
//这个东西在一些需要用到Adapter自定控件显示方式的时候非常有用 //Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用 public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh; if (co原创 2015-03-23 10:06:11 · 438 阅读 · 0 评论 -
Android版多线程下载器核心代码分享
首先给大家分享多线程下载核心类: 1 package com.example.urltest; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.RandomAccessFile; 6 import java.net.HttpURLConnectio原创 2015-03-23 10:07:22 · 357 阅读 · 0 评论 -
怎样用AIDL Service 传递复杂数据
大家都知道在Android中通过AIDL可以跨进程调用Service中的数据,网上也有很多实例,但是大部分实例都是关于基本数据类型的远程调用,很少讲到复杂数据的调用,今天我用一个例子来演示一下怎样用AIDL Service 传递复杂数据。 我们分2步开始: 第一步:部署我们的服务端,也就是Service端: 1:在Service端我先自定义2个类型:Person和Pet。因为我们需要跨进程传原创 2015-03-23 10:07:09 · 305 阅读 · 0 评论 -
用ContentProvider向系统增加联系人
发现对系统的联系人进行操作的api很乱,感觉逻辑有点不清楚...... 主要用到这4个类: android.provider.ContactsContract.CommonDataKinds.Email;android.provider.ContactsContract.CommonDataKinds.Phone;android.provider.ContactsContract.Common原创 2015-03-23 10:07:00 · 283 阅读 · 0 评论 -
Android中的自定义属性的实现
Android开发中,如果系统提供的View组件不能满足我们的需求,我们就需要自定义自己的View,此时我们会想可不可以为自定义的View定义属性呢?答案是肯定的。我们可以定义自己的属性,然后像系统属性一样用在layout布局中。 通过下面3步既可以完成自定义属性: 第一步:在values文件夹下的attrs.xml文件(如果没有可以收到建立)中定义属性资源文件 1 xml versio原创 2015-03-23 10:06:31 · 234 阅读 · 0 评论 -
Android中为窗口定义主题
在res/values/styles文件夹中定义如下: 1 style name="myTheme"> 2 item name="android:windowNoTitle">trueitem> 3 item name="android:windowFullscreen">trueitem> 4 item name="android:wi原创 2015-03-23 10:06:29 · 311 阅读 · 0 评论 -
Android中解析XML的方法
假设我要解析如下的XML文件: 1 xml version="1.0" encoding="UTF-8"?> 2 books> 3 book price="99.0" 出版日期="2008年">疯狂java讲义book> 4 book price="199.0" 出版日期="2009年">疯狂android讲义book> 5 book price="79.0"原创 2015-03-23 10:06:27 · 278 阅读 · 0 评论 -
新建线程与UI线程间的通信
现在用一个实例来演示一下自己的新建线程与UI线程间的通信。 UI界面包含3个控件: 一个输入框,用来输入数字; 一个显示框,用来显示从2开始,到输入数字之间的所有质数; 一个按钮,点击后获取输入框输入的数字,交给新建线程处理,线程计算质数后把结果传给UI线程,UI线程显示结果到显示框。 XML如下: 1 xml version="1.0" encoding="utf-8"?>原创 2015-03-23 10:06:22 · 291 阅读 · 0 评论 -
使用java.util.Timer来周期性的执行制定的任务
使用java.util.Timer来周期性的执行制定的任务 1 public class HandlerTest extends Activity { 2 int[] images = new int[] { 3 R.drawable.baiyang, R.drawable.jinniu, R.drawable.shuangyu 4 };原创 2015-03-23 10:06:20 · 458 阅读 · 0 评论 -
Android中为APP创建快捷方式的原理(自己的理解)
我们首先来看Android中为APP创建快捷方式的原理: 从图上可以看出,Android大致分7步完成快捷方式的创建: 第一步:Android系统的launcher程序会调用它的pickShortcut()方法去启动系统的pickActivity程序(应用); 第二步:pickActivity程序(应用)启动后会调用它的CheckIntentFilter()方法,去在系统中寻找可以创建快原创 2015-03-23 10:06:15 · 482 阅读 · 0 评论 -
平时遇见的错误集合
问题1:实例化一个Thread并start()之后,等待这个线程isAlive()==false 时再次去start()该线程时会报如下错误:the thread already started; 解决方法:每次start()线程之前都要重新实例化一次; 问题2:使用HttpURlConnection.getResponseCode()方法时报错:NetMainThreadExcepti原创 2015-03-23 10:07:18 · 363 阅读 · 0 评论