<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[c_clear的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/c_clear</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; c_clear]]></copyright><item><title><![CDATA[android开发中，有关TABhost中各个子Activity跳转的问题（帮大忙）]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50523047</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50523047</guid><author>c_clear</author><pubDate>Fri, 15 Jan 2016 13:12:41 +0800</pubDate><description><![CDATA[博主最近在android开发中涉及到Tabhost这个控件，发现用起来非常的蛋疼。在Tabhost里面有四个界面，第一个是摄像头预览的界面，第二个是一个简单的页面，每次楼主打开第一个预览界面的时候，再跳转到第二个界面，再转回第一个预览界面就发现卡住了，真是头疼。经过一番研究，终于发现，在Tabhost里面生命周期是和平常的不一样，在各个子Activity里面跳转时不会重复执行onCreate（）方]]></description><category></category></item><item><title><![CDATA[android:descendantFocusability用法简析 item焦点问题]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50515661</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50515661</guid><author>c_clear</author><pubDate>Thu, 14 Jan 2016 10:46:27 +0800</pubDate><description><![CDATA[开发中很常见的一个问题，项目中的listview不仅仅是简单的文字，常常需要自己定义listview，自己的Adapter去继承BaseAdapter，在adapter中按照需求进行编写，问题就出现了，可能会发生点击每一个item的时候没有反应，无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageButton，Button，CheckBox等子控件(也可以说是Button或者C]]></description><category></category></item><item><title><![CDATA[Android 串口读取设备相关知识。。总结比较乱，部分转载（未完）]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50476903</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50476903</guid><author>c_clear</author><pubDate>Thu, 07 Jan 2016 15:49:12 +0800</pubDate><description><![CDATA[首先要提到JNI
Java Native Interface (JNI)标准是java平台的一部分，它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口，它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。


此外，在执行Java类的过程中，如果Java类需要与C组件沟通时，VM]]></description><category></category></item><item><title><![CDATA[Android编程实现读取本地SD卡图片的方法]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50473793</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50473793</guid><author>c_clear</author><pubDate>Thu, 07 Jan 2016 08:58:31 +0800</pubDate><description><![CDATA[本文实例讲述了Android编程实现读取本地SD卡图片的方法。分享给大家供大家参考，具体如下：




?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16




private

Bitmap getDiskBitmap(Strin]]></description><category></category></item><item><title><![CDATA[Relativelayout]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50467370</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50467370</guid><author>c_clear</author><pubDate>Wed, 06 Jan 2016 10:45:42 +0800</pubDate><description><![CDATA[在Relativelayout未设置高度的情况下 ，如果给控件aa 设置了相对属性，会失效。


android:layout_above="@id/xxx"  --将控件置于给定ID控件之上
android:layout_below="@id/xxx"  --将控件置于给定ID控件之下

android:layout_toLeftOf="@id/xxx"  --将控件的右边缘和给定I]]></description><category></category></item><item><title><![CDATA[添加缓存]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50454620</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50454620</guid><author>c_clear</author><pubDate>Mon, 04 Jan 2016 10:48:55 +0800</pubDate><description><![CDATA[如上几篇，当读取图片，肯定会用到缓存功能，如下
//读取流中的数据
						InputStream is = hucn.getInputStream();
						//读取获取到的流，整合成一个图片
						//要实现图片缓存，边读取，边把图片存到本地文件
						//设置一个1kb的数组
						byte[] b = new byte[1024];
						int le]]></description><category></category></item><item><title><![CDATA[消息机制]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50453920</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50453920</guid><author>c_clear</author><pubDate>Mon, 04 Jan 2016 09:18:24 +0800</pubDate><description><![CDATA[如上一篇文章提到的，UI必须都在主线程中刷新，包括吐司提示框（toast）
发送消息，需要知道消息是可以携带数据的，即msg.obj,发送消息有两种情况：
1 发送携带信息的消息，这种情况必须创建消息对象
2 发送空消息，当发送的消息不需要携带信息时，就发送空消息
消息的创建，一般是不需要new的，而是用到 Message msg = handler.obtainmessage(); 用这]]></description><category></category></item><item><title><![CDATA[网络请求图片]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50432295</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50432295</guid><author>c_clear</author><pubDate>Wed, 30 Dec 2015 09:06:33 +0800</pubDate><description><![CDATA[注意请求时，需要添加权限，INTERNETpublic void click(View v) {
		String path = "需要请求的网络地址";
		//发送http请求
		try {
			//建立一个url对象
			URL url = new URL(path);
			//获得要请求的对象
			HttpURLConnection huc = (HttpURLConnectio]]></description><category></category></item><item><title><![CDATA[ListView]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50392355</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50392355</guid><author>c_clear</author><pubDate>Thu, 24 Dec 2015 17:39:23 +0800</pubDate><description><![CDATA[ListView用来显示列表，每一行数据称为一个条目。
首先谈一下MVC，web中：
M:模型层JAVAbean
V:视图层JSP
C:控制层Servlet
在Android中（个例）：

M:模型层PersonList
V:视图层ListView
*ListView的每个条目，都是一个view对象
C:控制层Adapter
我们要干的事，就是把模型层的东西放到视图层，模型层]]></description><category></category></item><item><title><![CDATA[使用系统API进行数据库操作]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50386699</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50386699</guid><author>c_clear</author><pubDate>Wed, 23 Dec 2015 14:13:26 +0800</pubDate><description><![CDATA[//利用API进行数据库操作
	public void insertApi() {
		ContentValues values = new ContentValues();
		values.put("name", "wen");
		values.put("phone", "133");
		values.put("salary", "1234");
		//返回值是-1，插入失败
		lon]]></description><category></category></item><item><title><![CDATA[数据库有关操作]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50381236</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50381236</guid><author>c_clear</author><pubDate>Tue, 22 Dec 2015 17:26:54 +0800</pubDate><description><![CDATA[安卓手机端数据库大部分用SQLite，SQLite是一个轻量数据库，符合手机的性能，否则占用内存太大，资源占用过多。
这里利用单元测试进行操作。新建一个包，引用相关测试需要的类库package com.example.sql_lite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;]]></description><category></category></item><item><title><![CDATA[利用AndroidTestCase来做单元测试]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50379591</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50379591</guid><author>c_clear</author><pubDate>Tue, 22 Dec 2015 14:12:37 +0800</pubDate><description><![CDATA[利用AndroidTestCase来做单元测试，intrumentationTestCase和AndroidTestCase都是Junit.framwork.TestCase的子类，二者代表不用的方向。

如果想通过AndroidTestCase，大致可以通过以下几个步骤实现：


1.       添加自己的test
 case code, 让他们继承自AndroidTestCase]]></description><category></category></item><item><title><![CDATA[使用API获取内部存储文件的路径；外部存储]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50378185</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50378185</guid><author>c_clear</author><pubDate>Tue, 22 Dec 2015 10:26:07 +0800</pubDate><description><![CDATA[File file = new File("data/data/com.example.readthefile/info.txt");
这种路径获取方式，效率太低，而且没有容错率，可以改成：
1. File file = new File (getFilesDir(),"info.txt");
返回一个file对象，代表里面一定封装了一个地址：data/data/com.example.re]]></description><category></category></item><item><title><![CDATA[BufferedReader和BufferedWriter]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50377740</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50377740</guid><author>c_clear</author><pubDate>Tue, 22 Dec 2015 09:29:00 +0800</pubDate><description><![CDATA[BufferedReader这么说吧，这个类就是一个包装类，它可以包装字符流，将字符流放入缓存里，先把字符读到缓存里，到缓存满了或者你flush的时候，再读入内存，就是为了提供读的效率而设计的。



1. java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时，会先尽量从文件中]]></description><category></category></item><item><title><![CDATA[数据写入本地文件]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50372861</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50372861</guid><author>c_clear</author><pubDate>Mon, 21 Dec 2015 16:33:32 +0800</pubDate><description><![CDATA[做一个简单的登录框，勾选保存密码，则把账户密码写入本地文件
这里给出button点击后，响应时间实现：
public void login(View v) {
		EditText et_admin = (EditText) findViewById(R.id.et_admin);
		EditText et_pass = (EditText) findViewById(R.id.et_pas]]></description><category></category></item><item><title><![CDATA[在Android中读取文件]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50370629</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50370629</guid><author>c_clear</author><pubDate>Mon, 21 Dec 2015 11:00:37 +0800</pubDate><description><![CDATA[RAM,ROM,外部存储空间，这里就不多介绍了
以下是按钮点击方法内部实现：
public void login(View v) {
		EditText et_admin = (EditText) findViewById(R.id.et_admin);
		EditText et_pass = (EditText) findViewById(R.id.et_pass);
		
		Stri]]></description><category></category></item><item><title><![CDATA[Android 开发随手笔记之使用摄像头拍照]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50370471</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50370471</guid><author>c_clear</author><pubDate>Mon, 21 Dec 2015 10:43:56 +0800</pubDate><description><![CDATA[在Android中，使用摄像头拍照一般有两种方法， 一种是调用系统自带的Camera，另一种是自己写一个摄像的界面。

      我们要添加如下权限：（在Androidmanifest.xml文件中添加权限）




?





1

2




<uses-permission
 android:name="android.permission.WR]]></description><category></category></item><item><title><![CDATA[android开发中经常看到@Override]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50370239</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50370239</guid><author>c_clear</author><pubDate>Mon, 21 Dec 2015 10:10:49 +0800</pubDate><description><![CDATA[1、可以当注释用,方便阅读 

2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错 

比如你如果没写@Override而你下面的方法名又写错了,这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法)


在重写父类的onCreate时，在方法前面加上@Override 系统可以帮你检查方法的正确性。例如，public void ]]></description><category></category></item><item><title><![CDATA[Android点击事件总结]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50370029</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50370029</guid><author>c_clear</author><pubDate>Mon, 21 Dec 2015 09:31:01 +0800</pubDate><description><![CDATA[很多学习Android程序设计的人都会发现每个人对代码的写法都有不同的偏好，比较明显的就是对控件响应事件的写法的不同。因此本文就把这些写法总结一下，比较下各种写法的优劣，希望对大家灵活地选择编码方式可以有一定的参考借鉴价值。
XML文件代码如下：
<Button
    android:id="@+id/button1"
    android:layout_width="wrap_conte]]></description><category></category></item><item><title><![CDATA[意图 intent]]></title><link>https://blog.youkuaiyun.com/c_clear/article/details/50352229</link><guid>https://blog.youkuaiyun.com/c_clear/article/details/50352229</guid><author>c_clear</author><pubDate>Fri, 18 Dec 2015 15:42:30 +0800</pubDate><description><![CDATA[比如做一个拨号器，需要告诉系统，让系统知道你要打电话
//先创建一个意图对象
Intent intent = new Intent();
//告诉系统你的意图，你想拨号
intent.setAction(intent.ACTION_CALL);
//打电话打给谁 “tel”必须得有
intent.setData(Uri.parse("tel"+number));
//告诉系统我的动作
start]]></description><category></category></item></channel></rss>