自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yuKnight

Read The Fucking Source Code || 雄关漫道真如铁,而今迈步从头越

原创 Android-使用Android studio 进行NDK-JNI开发实例(一)

前言 使用Android studio 进行NDK-JNI开发,在界面上显示Hello NDK-JNI 步骤: 1. 创建工程 2. 配置NDK 路径 local.properties 文件中加入 ndk路径ndk.dir=E\:\\Android-NDK\\android-ndk-r10e(ND...

2015-08-30 19:03:28 5748 1

原创 Android-Handler相关问题

1、handler是什么? 答:handler是更新UI界面的机制,也是消息处理的机制,我们可以发送消息,也可以处理消息   2、为什么要有Handler? 答:Android在设计的时候,封装了一套消息创建、传递、处理机制,如果不遵循这样的机制就没办法更新UI信息,就会抛出异常。   ...

2018-11-01 00:25:50 121 0

转载 Android 自定义控件三种实现方法为组合原生控件,自己绘制和继承原生控件

1.组合原生控件 将自己需要的控件组合起来变成一个新控件,如下制作常见的app页面头部.  新建一个Android项目,创建一个头部布局view_top.xml <?xml version="1.0" encoding="utf-8"?&...

2018-11-01 00:13:12 260 0

原创 Android 三种动画详解

View Animation(视图动画)补间动画 Drawable Animation(帧动画)Frame动画 Property Animation属性动画   Drawable Animation也就是所谓的帧动画,Frame动画。指通过指定每一帧的图片和播放时间,有序的进行播放而形成动...

2018-11-01 00:07:34 100 0

原创 ListView 与 RecyclerView 对比

布局效果对比 常用功能与API对比 在Android L引入嵌套滚动机制(NestedScrolling) ListView与RecyclerView的简单使用: ListView:  1. 继承重写BaseAdapter类;  2. 自定义ViewHolder与convertView的优化(判断...

2018-10-31 23:58:21 166 0

原创 ViewHolder为什么要被声明成静态内部类

非静态内部类会隐式持有外部类的引用,就像大家经常将自定义的adapter在Activity类里,然后在adapter类里面是可以随意调用外部activity的方法的。 当你将内部类定义为static时,你就调用不了外部类的实例方法了,因为这时候静态内部类是不持有外部类的引用的。声明ViewHol...

2018-10-31 23:46:54 390 0

原创 ListView卡顿的原因以及优化策略

重用converView: 通过复用converview来减少不必要的view的创建,另外Infalte操作会把xml文件实例化成相应的View实例,属于IO操作,是耗时操作。 减少findViewById()操作: 将xml文件中的元素封装成viewholder静态类,通过converview...

2018-10-31 23:41:45 1332 0

原创 Android中aar和jar的区别

两者区别:  *.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。  *.aar:包含所有资源,class以及res资源文件全部包含    JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用...

2018-10-31 23:36:39 246 0

原创 Android数据存储五种方式

    1 使用SharedPreferences存储数据     2 文件存储数据           3 SQLite数据库存储数据     4 使用ContentProvider存储数据     5 网络存储数据  

2018-10-31 23:25:59 77 0

原创 Activity 启动Service两种方式与区别

Activity 启动Service两种方式: startService bindService   startService(Intent): 1.定义一个类继承Service 2.在Manifest.xml文件中配置该Service 3.使用Context的startService(...

2018-10-31 23:22:42 2751 0

原创 Activity的四种启动方式

AndroidManifest文件中一共设计了四种启动模式 standard singleTop singleTask singleInstance 一、standard模式     特点:1.Activity的默认启动模式               2.每启动一个Activity就会在...

2018-10-31 23:12:43 97 0

原创 ArrayList与LinkedList的区别

ArrayList和LinkedList的大致区别如下: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。  2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。  3.对于新增和删除操作...

2018-10-31 23:02:37 67 0

原创 Java的四种引用方式

java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。 java对象的引用包括: 强引用,软引用,弱引用,虚引用 Java中提供这四种引用类型主要有两个目的: 第一是可以让程序员通过代码的方式决定某些对象的生命周期; 第二是有利于JVM...

2018-10-31 22:57:04 55 0

原创 Android studio 导入SVN工程文件出现Gradle '' project refresh failed Error:Cause: unknown protocol: c

Android studio 导入SVN工程文件出现 Gradle ' ' project refresh failed Error:Cause: unknown protocol: c 解决方法:关闭Android Studio ,删除工程目录下的 Gradle 文件,重新...

2017-06-28 20:00:54 1723 0

原创 Android-使用Timer实现5秒内接收到数据就进行打印,若超过5秒后没有收到数据再打印

业务逻辑:5秒内接收到数据就进行打印,若超过5秒后没有收到数据再打印; public class MainActivity extends Activity { public static boolean mFlage = false; // boolean flag = true; ...

2016-11-24 11:05:54 1771 0

原创 报错:ViewPager$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams 类似的还有 java.l...

2016-08-28 10:19:00 3802 0

原创 java.lang.IllegalStateException: Recursive entry to executePendingTransactio

错误描述:ViewPager: Recursive entry to executePendingTransactions 错误产生: 在Fragment里面添加Viewpager,Viewpager由多个Fragment组成,在viewpager的setAdapter时产生错误 解决方法: ...

2016-08-26 17:49:48 1489 0

原创 Swift-Swift初体验

Playground是什么? 从Xcode6开始出现(Swift开始出现)翻译为:操场/游乐场对于学习Swift基本语法非常方便 所见即所得(快速查看结果)语法特性发生改变时,可以快速查看. Swift最基本的语法变化 导入框架 import UIKit定义标识符时,必须声...

2016-08-13 12:36:27 773 0

原创 安装系统时出现-安装程序无法创建新的系统分区,也无法定位现有的系统分区,解决方法

使用光盘安装系统,结果格式化C盘后,正准备装系统了,突然弹出“安装程序无法创建新的系统分区,也无法定位现有的系统分区”,就好像下图所示:  看到这种情况,解决办法,具体步骤如下:  1,准备好一个4G或者更大容量的U盘,用U大师把U盘制作成启动盘,重启电脑设置U...

2015-10-31 23:35:10 14545 6

原创 Android-Android4.3 蓝牙BLE初步

一、关键概念: Generic Attribute Profile (GATT) 通过BLE连接,读写属性类小数据的Profile通用规范。现在所有的BLE应用Profile都是基于GATT的。   Attribute Protocol (ATT) GATT是基于ATT Protocol...

2015-10-30 19:05:00 801 0

原创 Android-ble蓝牙开发略解

Android 蓝牙4.0开发   1、  权限和相关属性 “android:required="true"表示apk只有在具有bluetooth_le属性的系统里运行,这个4.3之前android系统没有      2、  程序开妈操作蓝牙之前,先判...

2015-10-30 19:03:28 971 0

原创 Android-连续按两次返回键实现应用程序退出

在Activity中重写onKeyDown方法 private long firstTime; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYC...

2015-10-30 15:43:43 817 0

原创 Android-服务中监听电源键和Home键的广播

添加权限: 服务与广播接收者 package com.example.copytest; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Contex...

2015-10-30 15:33:17 4026 0

原创 关联jar包的源代码

1.先点击Android Dependencies,将它从BuildPath remove掉,  再右键点击jar包,将jar add to BuildPath;  然后就出现Attatch Source按钮了 2.在libs目录下新建一个文件,文件名是jar包全名(包括后缀.jar),然后  该...

2015-09-18 15:05:08 615 0

原创 Android-客户端上传多张图片到服务器功能实现

服务端: 需要两个jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar 代码: import java.io.BufferedInputStream; import java.io.File; import java.io.F...

2015-09-12 18:46:57 16018 11

原创 Java基础-Java生成MD5简单实例

public static void main(String[] args) { String password = "123456"; try { MessageDigest instance = MessageDigest.getInstance("...

2015-09-07 16:39:30 2889 0

原创 JavaWeb-ServletContext对象总结

WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。    ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletCon...

2015-09-05 21:32:43 1283 0

原创 SQL-mysql设置utf8编码方法

mysql> SHOW VARIABLES LIKE 'character_set_%'; +--------------------------+----------------------------+ | Variable_name | Value | +--...

2015-09-04 09:44:31 26357 0

原创 Java基础-java中常见的日期时间类

java中常见的日期时间类    Date 类 最基础的日期时间类,返回一个相对日期的毫秒数。    DateFormat类 可以接受字符串输入 输出    SimpleDateFormat类 功能更强大的日期时间格式化类    GregorianCalendar类 提供处理日期的方法,用...

2015-09-03 21:08:12 667 0

原创 Android-调用本地方法实现将C进程分支出来即生成系统进程/NDK-JNI开发实例(九)

流程: 点击button调用本地方法,使用C实现本地方法;C实现方法中分支出C进程; 如何在本地方中打印LOG; build.gradle配置 : defaultConfig { ....... ndk{ modul...

2015-09-02 21:13:15 869 2

原创 Android-使用C++实现调用本地方法返回字符串显示在界面上/NDK-JNI开发实例(八)

本地方法使用C与C++的实现代码是不同的,且.h头文件必须引用; 在生成jni文件夹同时将生成.h头文件放在该目录下、命令: 进入项目名-->app-->src-->main-->java 目录下输入  javah -d ../jni -jni 包名.类名  (将.h...

2015-09-02 17:14:47 1271 0

原创 Android-本地方法与Java相互调用-自定义ProgressBar(锅炉压力监测例子)/NDK-JNI开发实例(七)

流程: 点击“开始检测按钮”Java调用本地方法startMonitor(),并启动一个线程,本地方法使用C来实现;本地方法的实现 产生随机数传给Java中的show()方法,show()方法中调用MyProgressBar中的setPressure()方法,MyProgressBar继承了vie...

2015-09-02 15:09:08 1145 0

原创 Android-本地方法C调用Java中的方法/NDK-JNI开发实例(六)

流程:  点击button按钮调用本地方法,本地方法中使用C调用Java中的show()方法; 生成方法的签名: 打印方法签名 项目名-->app-->build-->intermediates-->classes-->debug目录下; java...

2015-09-01 21:48:18 1015 0

原创 Android-调用本地方法传递数组参数/NDK-JNI开发实例(五)

android30.c // // Created by yulongji on 2015/9/1. // #include JNIEXPORT void JNICALL Java_com_example_yu_1longji_android30_MainActivity_arrayTe...

2015-09-01 20:37:33 760 0

翻译 JNI编程指南-第十一章 JNI设计思想概述

第十一章 JNI设计思想概述   本章是JNI设计思想的一个概述,在讲的过程中,如果有必要的话,还会对底层实现技术的原理做说明。本章也可以看作是JNIEnv指针、局部和全局引用、字段和方法ID等这些JNI主要技术的规范。有些地方我们可能还会提到一些技术是怎么样去实现的,但我们不会专注于具体的...

2015-09-01 12:28:28 449 0

翻译 JNI编程指南-第十章 使用JNI时容易出错的地方

第十章 使用JNI时容易出错的地方   本章总结了JNI实际应用中容易出错的一些情况供JNI程序员参考。   10.1 错误检查   编写本地方法时最常见的错误就是忘记检查是否发生了异常。我承认,JNI里面的异常检查确实比较麻烦,但是,这很重要。   10.2 向JNI函数传递非...

2015-09-01 12:25:01 371 0

翻译 JNI编程指南-第九章 使用己有的本地库

第九章 使用己有的本地库   JNI的一个使用方式就是编写一些本地方法来使用己有的本地库。本章介绍了一种生成一个包含一系列本地函数的类库的经典的方式。 本章首先用一对一映射这种(one-to-one mapping)最直接的方式来写封装类.接下来,我们会介绍一种叫做共享stubs(shar...

2015-09-01 12:16:26 423 0

翻译 JNI编程指南-第八章 多彩的JNI招数

第八章 多彩的JNI招数   我们已经讨论了JNI在写本地代码和向本地应用程序中集成JVM时的特征。本章接下来的部分分介绍其它的JNI特征。   8.1 JNI和线程   JVM可以做到在相同的地址空间内执行多个线程。由于多个线程可能会在同时共享资源,所以,增加了程序的复杂性。 ...

2015-09-01 11:41:35 358 0

翻译 JNI编程指南-第七章 调用接口(invocationinterface)

第七章 调用接口(invocationinterface)   本章讲述如何把一个JVM嵌入到你的本地程序当中去。一个JVM可以看作就是一个本地库。本地程序可以链接这个库,然后通过“调用接口”(invocationinterface)来加载JVM。实际上,JDK中标准的启动器也就是一段简单的...

2015-09-01 10:50:28 559 0

翻译 JNI编程指南-第六章 异常

第六章 异常   很多情况下,本地代码做JNI调用后都要检查是否有错误发生,本章讲的就是怎么样检查错误和处理错误。 我重点放在JNI函数调用引发的错误上面。如果一个本地方法中调用了一个JNI函数,它必须遵守下面几个步骤来检查和处理这个JNI函数调用时可能引发的错误。至于其它可能的错误,比如本...

2015-09-01 10:47:51 368 0

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