![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
YeasonYu
一切皆有可能
展开
-
在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 · 270 阅读 · 0 评论 -
Protobuf的使用介绍以及例子
protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。原创 2016-09-01 09:54:17 · 1417 阅读 · 0 评论 -
按界面空白处隐藏软键盘
按界面任意空白处隐藏软键盘原创 2016-09-09 14:44:29 · 219 阅读 · 0 评论 -
String,StringBuffer与StringBuilder
String,StringBuffer与StringBuilder的区别及应用场景 BY FIND · 2015年2月15日 876 看过文章一 介绍 String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)深入说明 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不转载 2016-07-15 14:55:13 · 218 阅读 · 0 评论 -
android版本检测更新的方法2
android版本更新原创 2016-07-19 17:56:46 · 457 阅读 · 0 评论 -
android检测版本更新
通过AsyncTask来执行版本更新检测的任务,检测到时提醒用户是否进行更新,下载原创 2016-07-19 17:41:14 · 259 阅读 · 0 评论 -
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 · 352 阅读 · 0 评论 -
自定义dialog实现PopupWindow的效果
自定义dialog加上动画效果,可以实现自定义的布局从上面弹出或者从下往上弹出,自定义自己的dialog继承于dialog,在自定义的dialog上面用自己的布局(根据需要的效果自定义布局就行),然后给要点击的按钮设置点击事件,点击事件里面写回调方法,在需要的地方直接实现该回调接口即可。实现就四步,第一自定义dialog的布局,第二自定义dialog,第三写动画效果,第四直接想用dialog一样用就可以,new一个dialog,然后dialog.show()展示,dialog.dismiss关闭。需要通过d原创 2016-03-26 18:02:00 · 584 阅读 · 0 评论 -
socket编程
TCPServer端Server端所要做的事情主要是建立一个通信的端点,然后等待客户端发送的请求。典型的处理步骤如下:1. 构建一个ServerSocket实例,指定本地的端口。这个socket就是用来监听指定端口的连接请求的。2.重复如下几个步骤:a. 调用socket的accept()方法来获得下面客户端的连接请求。通过accept()方法返回的socket实例,建原创 2016-07-07 17:58:29 · 221 阅读 · 0 评论 -
通过ActivityManager 管理activity
通过activityManager管理整个安卓app的activity,最重要的是跳到指定界面时及时把指定页面之上的activity及时出栈,还有关闭指定activity,关闭全部activity等功能。原创 2016-09-05 17:29:34 · 384 阅读 · 0 评论 -
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 · 639 阅读 · 0 评论 -
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 · 1933 阅读 · 0 评论 -
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 · 623 阅读 · 0 评论 -
手动增加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 · 744 阅读 · 0 评论 -
android 混淆文件的编写(proguard-rules.pro)
-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-dontwarn-dontskipnonpubliclibraryclassmembers-ignorewarnings-optimizations !code/simplifi原创 2017-09-08 17:35:29 · 1970 阅读 · 1 评论 -
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 · 656 阅读 · 0 评论 -
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 · 651 阅读 · 0 评论 -
android动态设置EditText的password内容可不可见
通过代码来动态的设置,这里面我放了两个控件,一个是EditText,另一个是Button,实现的目的是通过每一次的点击按钮实现EditText里面的文字可见和不可见的交替变换具体的代码的实现是:‘editText= (EditText) findViewById(R.id.password);button= (Button) findViewById(R.原创 2017-08-16 12:16:13 · 2106 阅读 · 0 评论 -
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 · 296 阅读 · 0 评论 -
xml格式数据解析
xml格式如下 1 --返回码 成功 --返回信息 1 --返回记录数 --返回数据 1375 pull解析// 解析接口返回的xml数据public static List> parserXml(St原创 2016-07-07 17:40:11 · 332 阅读 · 0 评论 -
android动画的用法
帧动画(Frame Animation)顺序显示动画文件:animation1.xml<!-- 根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画 根标签下,通过item标签对动画中的每一个图片进行声明 android:duration 表示展示所用的该图片的时间长度 --><animation-原创 2016-07-07 17:18:21 · 261 阅读 · 0 评论 -
android检查网络连接
获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 1)判断是否有网络连接 复制代码 代码如下:public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (Connecti原创 2016-07-16 11:12:07 · 402 阅读 · 0 评论 -
加载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 · 287 阅读 · 0 评论 -
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 · 339 阅读 · 0 评论 -
Android中三种超实用的滑屏方式汇总(ViewPager、ViewFlipper、ViewFlow)
ViewPager、ViewFlipper、ViewFlow原创 2016-07-07 17:08:53 · 600 阅读 · 0 评论 -
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 · 3452 阅读 · 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 · 993 阅读 · 0 评论 -
List,Map和Set的区别
List特点:元素有放入顺序,元素可重复 Map特点:元素按键值对存储,无放入顺序 Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) List接口有三个实现类:LinkedList,ArrayList,Vector LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素原创 2016-07-15 14:50:41 · 400 阅读 · 0 评论 -
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 · 785 阅读 · 0 评论 -
Android 控制显示和隐藏软键盘
1.如果输入法在窗口上已经显示,则隐藏,反之则显示 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALW原创 2016-07-16 11:30:10 · 214 阅读 · 0 评论 -
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 · 394 阅读 · 0 评论 -
用正则表达式检验输入框内容是否合法
package com.example.utils;import java.util.regex.Pattern;/** * 校验器:利用正则表达式校验邮箱、手机号、身份证等 * * @author liujiduo * */public class Check { /** * 正则表达式:验证用户名 */ public static fin原创 2016-07-16 16:25:35 · 1242 阅读 · 0 评论 -
ViewFlipper属性介绍
该类有如下几个和动画相关的函数:l setInAnimation:设置View进入屏幕时候使用的动画,该函数有两个版本,一个接受单个参数,类型为android.view.animation.Animation;一个接受两个参数,类型为Context和int,分别为Context对象和定义Animation的resourceID。 setOutAnimation: 设置Vie原创 2016-07-07 17:14:54 · 2784 阅读 · 0 评论 -
ExpandableListView的用法,类似qq的联系人功能
private void initView() { ExpandableListView expandableListView = (ExpandableListView) findViewById(R.id.expand_listview); MyGroupAdapter adapter = new MyGroupAdapter(); exp原创 2016-07-07 16:26:01 · 323 阅读 · 0 评论 -
PopupWindow的使用
popupWindow的使用方法原创 2016-07-07 16:41:50 · 234 阅读 · 2 评论 -
java,Android中的设计模式
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池转载 2016-07-07 16:30:56 · 414 阅读 · 0 评论 -
webView加载html格式的字符串
newsWebView = (WebView) findViewById(R.id.newsWebView);WebSettings webSettings = newsWebView.getSettings();// 设置WebView属性,能够执行Javascript脚本webSettings.setJavaScriptEnabled(true);// 设置可以访问文件原创 2016-07-07 16:22:02 · 612 阅读 · 0 评论 -
自定义ProgressBar
自定义圆形的ProgressBar1.自定义圆形的ProgressBar 效果图: 圆形ProgressBar的样式主要有以下几个,我们这里以progressBarStyleLarge为例进行样式的修改,其他的类似。 ProgressBar android:layout_width="wrap_content" android:layou转载 2016-07-07 16:18:35 · 472 阅读 · 0 评论 -
android改变progressBar形状和样式
1.首先在drawable文件夹中建立如下旋转动画文件 android:drawable="@drawable/loading1" android:pivotX="50%" android:pivotY="50%" /> 其中loading1即为您想用的图片2. 在布局文件中设置progressbar原创 2016-07-07 16:14:01 · 724 阅读 · 0 评论 -
Java 正则表达式详解
Java 正则表达式详解常用正则表达式 许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在转载 2016-07-16 16:39:47 · 292 阅读 · 0 评论