- 博客(43)
- 资源 (2)
- 收藏
- 关注
原创 ios制作framework
1.先创建一个项目,选择Cocoa touch Framework,点击下一步2.把自带的.h文件删除点,再将要打包成的.h .m .c等源代码拖入项目中3.项目设置,选择工程->targe->build setting,在搜索框中搜索linking,进行如下设置4.把要公开的头文件已到Public中去,在使用.framework时只能调用公开.h文件中的声明5.开始编译,选择 真机,...
2018-02-22 14:22:56
252
原创 Mac 环境下编译Protobuf 生成多种语言文件
在安装好proto环境后(执行protoc --version 查看当前系统下的protoc环境版本号)1.先在 xxxx.proto 文件的顶部加上proto语法版本号 syntax = "proto2";' or syntax = "proto3";2.进入到xxx.proto文件所在的目录,执行 protoc --proto_path=./ --objc_out=./ ./xxx
2017-11-23 10:11:07
649
原创 NDK手动指定文件再build
Android.mkLOCAL_PATH := $(call my-dir)#第三方的编译模块include $(CLEAR_VARS)LOCAL_MODULE := nodeppLOCAL_SRC_FILES := libnodepp.soinclude $(PREBUILT_SHARED_LIBRARY)#下面是申明第三方头文件路径#LOCAL_EXPORT_C_
2017-09-18 16:33:19
657
原创 ffmpeg的Android.mk配置
LOCAL_PATH := $(call my-dir) # FFmpeg library include $(CLEAR_VARS) LOCAL_MODULE := avcodec LOCAL_SRC_FILES := libavcodec-56.so include $(PREBUILT_SHARED_LIBRARY) include $(C
2017-09-15 19:01:29
714
原创 ndk对 ffmpeg 3.3.4编译,使其能移植到Android下使用
ndk r14b 对 ffmpeg 3.3.4编译,使其能移植到Android下使用1、安装VMware Workstation虚拟机然后装上Ubuntu系统2、下载Linux版的NDK https://developer.android.com/ndk/downloads/index.html?hl=zh-cn3、FFmpeg的源码 https://ffmpeg.org/d
2017-09-14 18:54:21
689
原创 android 混淆文件的编写(proguard-rules.pro)
-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-dontwarn-dontskipnonpubliclibraryclassmembers-ignorewarnings-optimizations !code/simplifi
2017-09-08 17:35:29
2005
1
原创 android动态设置EditText的password内容可不可见
通过代码来动态的设置,这里面我放了两个控件,一个是EditText,另一个是Button,实现的目的是通过每一次的点击按钮实现EditText里面的文字可见和不可见的交替变换具体的代码的实现是:‘editText= (EditText) findViewById(R.id.password);button= (Button) findViewById(R.
2017-08-16 12:16:13
2131
原创 android.mk和gradle两种配置生成so文件
android studio 有2种方法可以把c/c++生成so文件1.通过配置Android.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := hello //生成的so库名称LOCAL_SRC_FILES := hello.c //要生成so的源文件include $(BU
2017-07-12 13:19:20
2006
原创 手动增加jniLibs目录
apply plugin: 'com.android.application'android { compileSdkVersion 24 buildToolsVersion "24.0.1" defaultConfig { applicationId "com.test.nodepp.testfengzhuang" minSdkVe
2017-07-12 12:56:56
780
原创 android studio 中编译C生成.so文件
1.创建一个类Utils(如果为了到时打包jar包,先创建个包名)2.在gradle.properties文件中加入android.useDeprecatedNdk=true3.在Utils中写如native方法,然后在android studio的菜单build—>make projectpublic class Utils { //java调C中的方法都需要用
2017-07-12 11:17:18
703
原创 在android studio中生成jar
1.在项目中添加module2.选择android library3.给library命名4.在java目下放入要打包成jar的包5.在dtlslibrary下面的build.gradle 添加task makeJar(type: Copy) { delete 'build/libs/mysdk.jar' from('build/
2017-07-11 15:57:36
304
原创 通过ActivityManager 管理activity
通过activityManager管理整个安卓app的activity,最重要的是跳到指定界面时及时把指定页面之上的activity及时出栈,还有关闭指定activity,关闭全部activity等功能。
2016-09-05 17:29:34
417
原创 Protobuf的使用介绍以及例子
protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。
2016-09-01 09:54:17
1451
原创 java,android定时器(Timer)的使用
public class Test { public static void main(String[] args) { Timer timer = new Timer(); timer.schedule(new MyTask(), 1000, 3000); //定时器1秒后开始,每隔3s执行一次 } }
2016-07-19 17:30:39
376
转载 Java 正则表达式详解
Java 正则表达式详解常用正则表达式 许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在
2016-07-16 16:39:47
315
原创 用正则表达式检验输入框内容是否合法
package com.example.utils;import java.util.regex.Pattern;/** * 校验器:利用正则表达式校验邮箱、手机号、身份证等 * * @author liujiduo * */public class Check { /** * 正则表达式:验证用户名 */ public static fin
2016-07-16 16:25:35
1275
原创 android蓝牙的简单用法
public class MainActivity extends Activity { private Button On,Off,Visible,list; private BluetoothAdapter BA; private SetBluetoothDevice>pairedDevices; private ListView lv; @Override
2016-07-16 13:39:27
416
原创 Android 控制显示和隐藏软键盘
1.如果输入法在窗口上已经显示,则隐藏,反之则显示 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALW
2016-07-16 11:30:10
234
原创 android检查网络连接
获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 1)判断是否有网络连接 复制代码 代码如下:public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (Connecti
2016-07-16 11:12:07
449
原创 加载dialog
public void ShowBusyDialog(Context context, String msg) { LayoutInflater inflater = LayoutInflater.from(context); View v = inflater.inflate(R.layout.loading_dialog, null);// 得到加载view LinearLa
2016-07-15 18:10:16
304
原创 android圆形头像,自定义view
第一步:在res/values目录下建立attr.xml文件xml version="1.0" encoding="utf-8"?> name="CircleImageView"> name="border_width" format="dimension" /> name="border_color" format="color" />
2016-07-15 17:17:46
361
原创 android点击按钮发出声音
第一步:在res目录下建立raw文件夹第二步:MediaPlayer music = MediaPlayer.create(this, MusicId);第三步:music.start();例子如下: package com.example.test;import android.app.Activity;import android.media.MediaPlay
2016-07-15 16:45:59
3561
1
原创 实现第一条Toast还没显示完直接显示第二条内容,改变Toast内容
import android.content.Context;import android.view.Gravity;import android.widget.Toast;public class MyToast {public static Toast toast; public static void showMessage(Context context,
2016-07-15 16:42:26
1022
转载 String,StringBuffer与StringBuilder
String,StringBuffer与StringBuilder的区别及应用场景 BY FIND · 2015年2月15日 876 看过文章一 介绍 String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)深入说明 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不
2016-07-15 14:55:13
240
原创 List,Map和Set的区别
List特点:元素有放入顺序,元素可重复 Map特点:元素按键值对存储,无放入顺序 Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) List接口有三个实现类:LinkedList,ArrayList,Vector LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素
2016-07-15 14:50:41
420
原创 Iterator (迭代器)的两种方式
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getVa
2016-07-15 14:48:28
835
原创 socket编程
TCPServer端Server端所要做的事情主要是建立一个通信的端点,然后等待客户端发送的请求。典型的处理步骤如下:1. 构建一个ServerSocket实例,指定本地的端口。这个socket就是用来监听指定端口的连接请求的。2.重复如下几个步骤:a. 调用socket的accept()方法来获得下面客户端的连接请求。通过accept()方法返回的socket实例,建
2016-07-07 17:58:29
245
转载 xUtils的用法
xUtils简介xUtils 包含了很多实用的android工具。xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUitls 最低兼容android 2.2 (api level 8)目前xUtils主要有四大模块:DbUtils模块:android中的orm框架,一
2016-07-07 17:43:43
316
原创 xml格式数据解析
xml格式如下 1 --返回码 成功 --返回信息 1 --返回记录数 --返回数据 1375 pull解析// 解析接口返回的xml数据public static List> parserXml(St
2016-07-07 17:40:11
355
原创 android动画的用法
帧动画(Frame Animation)顺序显示动画文件:animation1.xml<!-- 根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画 根标签下,通过item标签对动画中的每一个图片进行声明 android:duration 表示展示所用的该图片的时间长度 --><animation-
2016-07-07 17:18:21
281
原创 ViewFlipper属性介绍
该类有如下几个和动画相关的函数:l setInAnimation:设置View进入屏幕时候使用的动画,该函数有两个版本,一个接受单个参数,类型为android.view.animation.Animation;一个接受两个参数,类型为Context和int,分别为Context对象和定义Animation的resourceID。 setOutAnimation: 设置Vie
2016-07-07 17:14:54
2836
原创 Android中三种超实用的滑屏方式汇总(ViewPager、ViewFlipper、ViewFlow)
ViewPager、ViewFlipper、ViewFlow
2016-07-07 17:08:53
631
转载 java,Android中的设计模式
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池
2016-07-07 16:30:56
452
原创 ExpandableListView的用法,类似qq的联系人功能
private void initView() { ExpandableListView expandableListView = (ExpandableListView) findViewById(R.id.expand_listview); MyGroupAdapter adapter = new MyGroupAdapter(); exp
2016-07-07 16:26:01
364
原创 webView加载html格式的字符串
newsWebView = (WebView) findViewById(R.id.newsWebView);WebSettings webSettings = newsWebView.getSettings();// 设置WebView属性,能够执行Javascript脚本webSettings.setJavaScriptEnabled(true);// 设置可以访问文件
2016-07-07 16:22:02
644
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人