自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 资源 (4)
  • 收藏
  • 关注

原创 .gitignore无效,不能过滤某些文件

利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理。 现象: 在.gitignore添加file1文件,以过滤该文件,但是通过Git status查看仍显示file1文件的状态。 原因: 在git库中已存在了这个文件,之前push提交过该文件。 .gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不

2017-03-20 09:48:46 412

原创 android 定位服务

目前,对于定位主要有三种实现方式:通过网络、基站和GPS来获取到所有玩家的经纬度,然后传送给服务器计算,以此来实现附近的人信息展示功能。最开始做的时候,使用了Android自带的定位服务:LocationManager locationManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE);locationManage

2017-03-10 13:42:14 410

原创 MeasureSpec中三种模式

MeasureSpec.EXACTLY:使用measureSpec中size的值作为宽高的精确值 当我们将控件的layout_width或layout_height指定为具体数值时如andorid:layout_width=”50dip”,或者为FILL_PARENT是,都是控件大小已经确定的情况,都是精确尺寸。 MeasureSpec.AT_MOST:使用measureSpec

2017-02-23 14:18:34 456

原创 tabhost 实例

@BindView(android.R.id.tabs) TabWidget tabs; @BindView(R.id.frame1) FrameLayout frame1; @BindView(R.id.frame2) FrameLayout frame2; @BindView(android.R.id.tabcontent) FrameLa

2017-02-16 16:04:29 312

原创 android butterkinfe 8.5.1 配置 超简单

在AS的依赖文件中寻找butterknife库,并下载第一个库。compiler和plugin不用下。 工程gradle中添加库文件 项目gradle中申请plugin 在gradle中依赖库中添加

2017-02-16 14:31:23 489

原创 git commit时出现的问题The file will have its original line endings in your working directory

我最近使用了新的代码托管工具,把之前在oschina上的代码迁移到coding.net上去。提交代码时有一个文件提交失败。 错误信息是 LF will be replaced by CRLF in git -the file will have its original line endings,The file will have its original line endings in yo

2017-02-14 11:49:13 8219 2

原创 jni和ndk区别

JNI是Java语言提供的Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以调用java代码。JNI 是本地编程接口,Java和C/C++互相通过的接口。Java通过C/C++使用本地的代码的一个关键性原因在于C/C++代码的高效性。 NDK是一系列工具的集合。它提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将s

2017-02-11 20:32:15 487

原创 androidStudio出现Executing tasks: app:assembleDebug

打正式包时有时会出现Executing tasks: [:app:assembleDebug 错误。因为你gradle文件配置有问题。 例如我上次在module的gradle中添加了单元测试的配置信息,原则上正式版不应该包含测试信息testApplicationId“com.cn.skypiea.test" testInstrumentationRunner "android.test.Inst

2017-02-09 17:46:40 47247 6

原创 android点击事件分发步骤

首先进入Activity的dispatchTouchEvent方法。默认会调用userInteraction方法,这里你可以重写此方法处理用户每次点击的需求。其次判断此view下面是否还有可以点击的view。若有,返回true把事件分发给下层view没有调用onTouchEvent方法。 public boolean dispatchTouchEvent(MotionEvent ev) {

2017-02-08 10:46:53 385

原创 android Animation,setTransactionX 实际位置

使用startAnimation方法在一段时间内进行连续的动画效果,当然里面可以进行左右滑动。无论动画效果怎样背景位置跟没有开始动画效果一样的。fullAfter方法设置之后只能改视图上位置而没有改真正位置。使用setTransactionX方法在一个时刻上实现左右移动。你使用好几次setTransactionX方法屏幕都会按照没有Transaction之前的位置移动相应像素。

2017-02-07 16:27:34 621

转载 dispatchTouchEvent, interceptTouchEvent,onTouchEvent 详细分析

跟touch事件相关的3个方法: public boolean dispatchTouchEvent(MotionEvent ev); //用来分派event public boolean onInterceptTouchEvent(MotionEvent ev); //用来拦截event public boolean onTouchEvent(MotionEvent ev);

2017-02-06 13:47:18 1212

原创 android 保存图片到指定文件

/** 保存方法 */ public void saveBitmap() {  Log.e(TAG, "保存图片");  File f = new File("/sdcard/namecard/", picName);  if (f.exists()) {   f.delete();  }  try {   FileOutputStream out = new Fi

2017-02-05 18:00:49 933

转载 获取应用专属缓存目录

获取Android应用专属缓存存储目录SD卡缓存目录当应用需要将图片或者文件缓存到SD卡中时要去申请创建目录,有下面几种途径 我们可以通过API调用应用专属目录:// /storage/emulated/0/Android/data/app_package_name/files/PicturesContent.getExternalFilesDir(Environme

2017-02-05 14:54:10 862

转载 安卓终止线程

有三种方法可以使终止线程。    1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。    2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。    3.  使用interrupt方法中断线程。    1. 使用退出标志终止线程    当run方法执行完

2017-02-04 17:18:35 1950

原创 dispatchTouchEvent, interceptTouchEvent 区别

默认情况下dispatchTouchEvent返回true,interceptTouchEvent返回false。事件会向下分发而且不会拦截。所以默认情况不能发现这两个方法的区别。如果 dispatchTouchEvent 返回 false ,则回传给 父View 的 onTouchEvent 事件处理。此时没有完全进入interceptTouchEvent就返回父View。如果

2017-02-03 09:57:47 548

转载 android 事件传递

http://blog.csdn.net/morgan_xww/article/details/9372285/跟touch事件相关的3个方法:public boolean dispatchTouchEvent(MotionEvent ev);    //用来分派eventpublic boolean onInterceptTouchEvent(MotionEvent 

2017-02-03 09:40:56 189

原创 cpu与内存的交互 简洁版

控制总线—数据总线—地址总线

2017-01-31 12:39:06 1005

原创 Mac 用c实现helloworld

先创建一个demo.c文件#include<stdio.h>#include<stdlib.h>int main(){printf("hellow c\n");}打开终端 command+空格 弹出对话框输入terminal 就ok了进入c文件所在目录(这里我的c文件在c_test文件夹中) cd ~/c_test编译c源文件gcc demo.c如果没有报错说明编译成功,接下来运行./a.o

2017-01-31 09:24:18 886

原创 自定义 发送广播,并接受广播

接受广播@Overridepublic void onCreate() {IntentFilter intentFilter = new IntentFilter();intentFilter.addAction("android.intent.action.SKIP");mInnerReceiver = new InnerReceiver();registerReceiver

2017-01-28 11:49:08 361

原创 android level-list 笔记

有时候,我们为了在一个ImageView中显示不同的图片,往往会使用: if (条件1){   image.setBackground(R.id.xxx1); }else if (条件2){   image.setBackground(R.id.xxx2); } ... 可以用另一个简便的方法实现相同的功能 首先,在res/drawable下建立

2017-01-28 09:40:50 275

原创 正确删除list

遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。下面主要看看以下几种遍历删除List中元素的形式:1.通过增强的for循环删除符合条件的多个元素2.通过增强的for循环删除符合条件的一个元素3.通过普通的for删除删除符合条件的多个元素4.通过Iterator进行遍历删除符合条件的多个元素[java] view plain copy /** * 使用增强的for循环 *

2017-01-26 14:03:06 366

原创 androidStudio com.android.ide.common.process.ProcessException解决方法

sourceSets { main {// java.srcDirs = [‘src’] // resources.srcDirs = [‘src’] // aidl.srcDirs = [‘src’] // renderscript.srcDirs = [‘src’] //

2017-01-24 13:45:32 1457

原创 android 启动广告 适配几种方案

众所周知android手机屏幕各式各样,做满屏启动广告需要适配一大堆屏幕,图片内容必须完整地显示出来,不应该变形。 虽然自己不是什么大牛,纯粹为了学习想研究一下怎么做满屏图片较合理写下此文章第一种方案ImageView firstImg;firstImg.setScaleType(ImageView.ScaleType.FIT_CENTER); firs

2017-01-22 12:33:52 3811

转载 aidl 笔记

关于IPC应该不用多介绍了,Android系统中的进程之间不能共享内存,那么如果两个不同的应用程序之间需要通讯怎么办呢?比如公司的一个项目要更新,产品的需求是依附于当前项目开发一个插件,但是呢这个插件功能以及界面比较复杂,不能和当前项目在一个进程中,同时呢,还要用到当前项目中已经写好了的一些东西,那么因为新开发的依附于当前项目的插件和当前项目不是一个进程,因此不能共享内存,就出现了问题,于是,需要

2017-01-18 18:42:12 228 5

原创 android 解锁屏监听 笔记

在做解锁监听程序时,一开始采用监听屏幕SCREEN_ON和SCREEN_OFF这两个action。 但奇怪的是,这两个action只能通过代码动态的形式注册,才能被监听到,使用AndroidManifest.xml 完全监听不到。 百度后发现这是PowerManager那边在发这个广播的时候做了限制,限制只能有register到代码中的receiver才能接收。 后来就找各种能静态注册Andr

2017-01-18 12:05:33 333

原创 单元测试 使用场景

业务和数据库操作都需要进行单元测试 单元测试应该在单独的src内进行,当然也可以在当前项目内进行但随着项目容量扩大容易长生混乱。所以应该单独创建一个单元测试类来测试业务,数据库。AS则很好的处理了此类情况,你不必像eclipse一样单独创建一个测试工程,而是AS已经帮你在src里面添加了有三个文件。 main是你的主要工程文件,里面有java,res,manifest文件。而androidTes

2017-01-15 18:55:52 1440

原创 md5加密

//1.获取数据摘要器 //arg0 : 加密的方式 MessageDigest messageDigest = MessageDigest.getInstance(“MD5”); //2.将一个byte数组进行加密,返回的是一个加密过的byte数组,二进制的哈希计算,md5加密的第一步 byte

2017-01-14 15:44:06 214

原创 android属性 命名空间 笔记

xmlns:android=”http://schemas.android.com/apk/res/android” xmlns:tools=”http://schemas.android.com/tools” xmlns:xmls=”http://schemas.android.com/apk/res-auto”其中android 代表你从android库文件中找相应的属性

2017-01-14 11:32:15 235

原创 android属性 笔记

xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:xmls="http://schemas.android.com/apk/res-auto"其中android 代表你从android库文件中找相应

2017-01-14 10:50:38 220

原创 Error:Execution failed for task ':app:mergeDebugResources'.

Error:Execution failed for task ':app:mergeDebugResources'.> Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: 因为AS对资源文件的管理比较严格,一部分ec

2017-01-14 10:44:44 262

原创 inflate方法

View inflate(Context context, int resource, ViewGroup root) 方法中如果你view中没有root对象,后面你只能通过addview 方式在root上加view。如果传递root对象,次view已经添加到root里面

2017-01-13 13:24:12 340

原创 & 和 &&

&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。如&&例子中的i++>5被执行了,而i++5和i++

2017-01-13 11:53:50 330

原创 android 两种上下文

getApplicationContext,BaseContextapplicationContext 是整个application的上下文,没有对应具体的activitybaseContext  是某个activity的上下文,对应具体的activity例如,操作dialogue时需要操作窗口,而窗口跟activity绑定,必须使用activity的上下文

2017-01-10 18:19:37 314

原创 Java和JSON之间的转换

//一般数组转换成JSON    @Test    public void testArrayToJSON(){        boolean[] boolArray = new boolean[]{true,false,true};          JSONArray jsonArray = JSONArray.fromObject( boolArray );       

2017-01-10 11:34:04 218

原创 android mvc 模式

2017-01-09 22:35:31 217

原创 更改 android app 第一个显示背景

不要试着给application添加style,虽然application默认帮你给所有activity设置属性但还是不能给第一个activity设置背景。在manifest或activity里面 设置style  WelcomeThemename="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">

2017-01-06 17:34:55 1077

原创 scaletype 复习

1. SetScaleType(ImageView.ScaleType.CENTER);    按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示               2. SetScaleType(ImageView.ScaleType.CENTER_CROP);    按比例扩大图片的size居中

2017-01-05 17:58:57 169

原创 service 和thread 关系

不少Android初学者都可能会有这样的疑惑,Service和Thread到底有什么关系呢?什么时候应该用Service,什么时候又应该用Thread?答案可能会有点让你吃惊,因为Service和Thread之间没有任何关系! 之所以有不少人会把它们联系起来,主要就是因为Service的后台概念。Thread,是用于开启一个子线程,在这里去执行一些耗时操作就不会阻塞主线程的运行。 Servic

2017-01-04 13:13:08 316

转载 android 进程类型

前台进程:即与用户正在交互的Activity或者Activity用到的Service等,如果系统内存不足时前台进程是最后被杀死的可见进程:可以是处于暂停状态(onPause)的Activity或者绑定在其上的Service,即被用户可见,但由于失去了焦点而不能与用户交互服务进程:其中运行着使用startService方法启动的Service,虽然不被用户可见,但是却是用户关心的,例如用户正在非音乐

2017-01-04 11:17:38 212

原创 两种广播接受方式

常驻型广播 当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接收到,它的注册方式就是在你应用程序的AndroidManifast.xml 中进行注册,这种注册方式通常又被称作静态注册。这种方式可以理解为通过清单文件注册的广播是交给操作系统去处理的。示例代码如下:<!-- 订阅开机结束广播 --><receiver android:name=".receiver.BootCompl

2017-01-03 16:27:13 437

C++习题 6数组与指针

C++习题 6数组与指针.doc (填空 选择 解答)

2012-04-08

C++习题\4类与对象.doc

c++ 习题 4类与对象.doc (选择 解答 填空)

2012-04-08

c++ 习题 函数

c++ 习题 3关于函数 (选择 解答 填空)

2012-04-08

基本控制结构程序设计.doc 习题

c++ 习题 2基本控制结构程序设计.doc

2012-04-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除