- 博客(110)
- 资源 (3)
- 收藏
- 关注
原创 字符串的排序-剑指OFFER28题
输入一个字符串,打印出其所有的排序 public static void main(String[] args) { // TODO Auto-generated method stub String str = "abc"; char[] array = str.toCharArray(); permutation
2016-07-17 11:03:39
483
转载 Android camare 的使用
/*作者yanzi1225627,欢迎加QQ1927067685进行android开发交流*/package yan.guoqi.rectphoto;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOExceptio
2016-05-28 14:33:01
1384
原创 改变图片背景色
ThemeManagerpublic Drawable getTintDrawable(int drawableResId, int colorResId){ int colorId = getColorId(colorResId); Drawable drawable = getDrawable(drawableResId); drawable = ViewUtil.tin
2016-05-27 10:58:48
900
原创 画只有底边,抹掉其他三边的矩形
xml version="1.0" encoding="utf-8"?>layer-list xmlns:android="http://schemas.android.com/apk/res/android"> item android:id="@+id/edit_text_bg" android:left="-2dp" android:
2016-05-19 21:14:06
892
原创 画圆
xml version="1.0" encoding="utf-8"?>shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:useLevel="false"> gradient android:startColo
2016-05-19 09:47:44
383
原创 做dialog布局中碰到的问题
1 listview头部与尾部增加分割线,一开始直接在布局上加一个带背景色的view,后来给listview添加了setHeader方法,会崩,因为系统会把add的header当作第一个item,当系统拿到所谓的第一个item进行操作,当然就崩了。2 设置圆角后又设置底部button,导致底部的圆角被覆盖3 popupwindow弹出来距离顶部没有距离,以为android:layout_m
2016-05-13 16:51:59
851
转载 UML时序图
一、时序图简介(Brief introduction) 二、时序图元素(Sequence Diagram Elements)角色(Actor)对象(Object)生命线(Lifeline)控制焦点(Focus of Control)消息(Message)自关联消息(Self-Message)Combined Fragments 三、时序
2016-05-09 20:23:24
254
原创 Android事件分发机制
我们在MainActivity中注册一个Button按钮,分别为它设置onClick和onTouch事件 setContentView(R.layout.activity_main); button = (Button)findViewById(R.id.dispatch_button); button.setOnClickListene
2016-04-24 16:27:00
345
原创 recyclerview显示的宽度只有屏幕的一部分
今天使用recyclerview.setadapter的时候,出现了item只占据屏幕的一部分,需要在Adapter中的onCreateView中在inflate之后加上viewparent和false两个参数
2016-04-18 17:07:41
3115
原创 Android studio切换分支
今天切换分支,工程里面空了什么都没有了,办法是:点击version control 的Local Changes,对第一个文件右键revert,然后点击toolbar上的Syn project with gradle file,改变配置
2016-04-18 13:22:35
2145
原创 调试中经常出现的错误
1 resourse no found,经常发生在TextView设置值的时候,tv.setText(int),该控件接受int的值,会崩
2016-04-17 15:51:15
408
转载 java反射机制详解 及 Method.invoke解释
AVA反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象
2016-04-13 14:23:02
447
转载 Java中的垃圾回收与对象生命周期
Java中的垃圾回收与对象生命周期1. 垃圾回收 垃圾回收是Java程序设计中内存管理的核心概念,JVM的内存管理机制被称为垃圾回收机制。 一个对象创建后被放置在JVM的堆内存中,当永远不再引用这个对象时,它将被JVM在堆内存中回收。被创建的对象不能再生,同时也没有办法通过程序语句释放它们。即当对象在JVM运行空间中无法通过根集合到达(找到)时,这个对象被
2016-04-10 20:15:09
337
原创 开发过程中遇到的异常
1 数组越界异常,mFiles是个null的值,但是调用mFile.get[0]会出现数组越界异常2 类强制转换异常 ClassCastException,把context强制转换成activity出现错误
2016-04-06 11:03:56
448
原创 面试中遇到的问题
1 缓存,内缓存与外缓存怎么实现,外缓存相对简单,在SD卡的目录下面创建一个文件夹,放置缓存文件,内缓存可以在某个类使用一些数据结构,比如hashmap就能存放缓存的内容,只要能够找到该缓存应用。2 详细新闻图文混排方法:1)使用TextView的 fromHtml方法 2)自定义View(不知道怎么处理) 3)使用WebView,加载Html网页,Html中的网页图片的点击事件处理需要Htm
2016-04-04 16:16:06
349
原创 AsyncTask与Thread的区别
AsyncTask(异步)和Thread(线程)的使用与对比一、①AsyncTask的使用 当一个异步任务被执行,任务经过四各步骤:1.onPreExecute(),在UI线程上调用任务后立即执行。这步通常被用于设置任务,例如在用户界面显示一个进度条。2.doInBackground(Params...),后台线程执行onPreExecute()完后立即调用,这步被用
2016-03-31 00:14:34
1143
转载 七层协议详解
TCP/IP是一个协议族,是因为TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。以下我们对协议族中一些常用协议英文名称和用途作一介绍: TCP(Transport Control Protocol)传输控制协议 IP(Internetworking Protocol)网间网协议
2016-03-27 14:13:20
713
转载 把本地的int类型的图片转换成drawable、Bitmap
获取本地图片Bitmap decodeResource = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_default_user_bg_34);把本地的int类型的图片转换成drawableDrawable drawable = context.getResources().getDraw
2016-03-25 21:04:10
1952
转载 使用java.nio类库实现的Socket
前面几篇文章介绍了使用java.io和java.net类库实现的Socket通信,下面介绍一下使用java.nio类库实现的Socket。java.nio包是Java在1.4之后增加的,用来提高I/O操作的效率。在nio包中主要包括以下几个类或接口:* Buffer:缓冲区,用来临时存放输入或输出数据。* Charset:用来把Unicode字符编码和其它字符编码互转。* Ch
2016-03-25 15:58:10
323
转载 JAVA SOCKET使用
1.基本概念: a.DatagramPacket与DatagramSocket位于java.net包中 b.DatagramPacket表示存放数据的数据报,DatagramSocket表示接受或发送数据报的套接字 c.由这两个类所有构成的网络链接是基于UDP协议,是一种不可靠的协议。 之所以不可靠是因为发送方不负责数据是否发送成功,接收方收到数据时也不会 向发送方反馈成功消息,容易导
2016-03-23 14:38:23
325
转载 TCP与UDP在socket编程中的区别
TCP与UDP在socket编程中的区别 一、TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UDP不保证 部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息 拥有大量
2016-03-23 14:13:28
397
原创 工厂方法
要得到一个对象,不用new ,而是通过工厂方法得到目标对象的实例public class ISample {}public class SampleA extends ISample{}public class SampleB extends ISample{}public class Factory { public static ISample c
2016-03-22 13:56:48
245
原创 Studio如何导入JAR包 快传导入glideJAR包出问题
今天想要导入glide包进入Studio,但是不知道怎么导入,项目结构有点奇怪,后来经过解决,解决办法如下把JAR包直接复制到项目目录下面的lib目录下面,然后在Studio中Syn project with gradle file,最后在app modul中加入依赖第三方JAR包的代码dependencies { compile fileTree(dir: '../../libs
2016-03-21 16:06:36
3316
原创 Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant)
今天碰到了这么一个问题, Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.不知道什么原因,在Manifest文件中该对应Activity加上android:theme="@style/AppThem
2016-03-20 23:00:20
5361
转载 Aplication的作用
学习android挺长时间了,但是对于Appliction还不是很了解。今天花一些时间研究了一下Application。 What is ApplicationApplication和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Appli
2016-03-19 09:53:56
558
原创 Android Studio依赖其他工程
今天在github上下了一个项目,可以正常RUN,想直接加到自己的项目中去,但是不能像eclipse一样直接导入workspase然后添加isLibrary,根据鹏哥的说法是1 在app module中的build.gradle中添加compile project(':AnyShareOfAndroid-master')2 在setting.gradle中添加include ':A
2016-03-19 08:54:57
622
原创 用NFC建立蓝牙连接聊天软件
原理流程 NFC发送A的蓝牙地址给B,B接受到A的蓝牙地址并与之配对建立socket连接,通过socket传送文件package com.example.huanghanqing.testnfcbluetoothchat;import android.app.ActionBar;import android.app.Activity;import android.bluetoo
2016-03-03 15:39:09
1525
原创 用NFC简化蓝牙配对并互相发送对方的蓝牙的MAC地址
本文的实现过程如下Touch DeviceA发送DeviceA的MAC地址给DeviceB,DeviceB接收到DeviceA的MAC地址后,请求与之配对,配对成功后将DeviceB的MAC地址通过蓝牙发送给DeviceADevicA 发送本机地址@Overridepublic NdefMessage createNdefMessage(NfcEvent event) {
2016-03-01 22:40:47
4353
原创 Fragment的使用
Container类提供容器,本例在XML中提供了一个LinearLayout的container,然后调用getSupportFragmentManager().beginTransaction().add(R.id.container,new SecondActivity()).commit();把容器传递给想要启动的Fragment和想要启动的Fragment目标Fragment
2016-02-29 20:00:22
252
原创 项目的结构
HomePage和抽屉中的方法开启同一个类中相同的方法ToolKitBlock.java与ListAdapt_NewNav.java共同指向入口Activity-FileExloreActivity.java
2016-02-29 15:31:46
513
原创 Android蓝牙连接,传输数据
本篇文章介绍两部android手机之间如何通过蓝牙传输数据1 权限声明uses-permission android:name="android.permission.BLUETOOTH">uses-permission>uses-permission android:name="android.permission.BLUETOOTH_ADMIN">uses-permission>
2016-02-26 21:58:55
2537
原创 Android Service详解
首先介绍一下Service的两种启动方式,第一种是通过是startService方法启动服务,接受一个Inten的参数,首先调用service的onCreage犯法,再调用onStartCommond方法,与Activity类似第二种是通过 bindService方法启动服务,如果服务未启动,首先会执行onCreate方法,否则只执行onStartCommond方法,在客户端调用bindS
2016-02-24 22:41:02
344
原创 把字节流转化成bitmap对象,从Intent中获取Ndef对象,向手机根目录中写入文件
把字节流转换成bitmap对象public static Bitmap getPicFromBytes(byte[] bytes, BitmapFactory.Options opts) { if (bytes != null) if (opts != null) return BitmapFactory.decodeByteArray(by
2016-02-24 21:15:41
726
原创 <intent-filter>隐式intent的用法
1 action 与category设置intent的参数必须与在manifest中的引号里面的内容相等,这个String内容的东西可以随意写,但是处理的Activity必须含有一个默认的分类category android:name="android.intent.category.DEFAULT" />action与category类似,没啥好说,直接上代码intent-fil
2016-02-22 20:19:30
421
原创 filebrowser文件浏览器
1获取根目录下的文件 File file = new File(“/”);2把获取得的文件依次添加到ArrayAdapter中,然后setAdapter真是相当的简单3为listActivity设置监听器,并启动自己所在的activity,传过去的值为被点击的文件的pathOVER~package com.example.huanghanqing.filebrowser;
2016-02-20 21:39:28
2440
原创 内部存储
不罗嗦,上代码package com.example.huanghanqing.testinternalstorage;import android.content.Context;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;i
2016-02-20 15:50:45
224
原创 SharedPreference的使用
不废话,Sharedpreference就是一个存储在手机内存(路径为包名.shapredpreference的名称)的一个文件,它的形式就是键值对所以在Android中就有两个操作,存与取,存的步骤是1取得该文件的editor Edit d = sp.edit(), 2使用putBoolean方法,放入键值对,3是提交commit,取的步骤是使用文件对象调用getBoolean的方
2016-02-19 20:45:19
317
原创 ContentProvider的用法与理解
ContentProvider是用来分享数据的一个标准接口,所以在使用上它分为3部分中间部分就是一个注册,在manifest中加provider,由主机名和路径组陈,表示全球唯一的一个继承了ContentProvider并实现了抽象方法的类ContentProvider部分就是向外部提供数据的部分,它提供了一些标准的方法让外部操作应用程序的数据 需要使用别的应用程序的使用者,get
2016-02-18 22:24:01
997
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人