- 博客(60)
- 资源 (29)
- 收藏
- 关注
原创 Android Send Email 发送邮件
最近公司有个需求,需要在意见反馈模块中增加发送邮件功能,看了网上好多的例子都是用的HtmlEmail和我需求不大一样因此重新写了一版发送邮件代码供大家分享。整理了个EmailUtils工具:1、发送文字邮件 2、发送附件邮件jar包:activation.jar additionnal.jar mail.jar 自己去网上搜很多资源import java.io.File;import jav...
2018-03-27 15:03:26 1615
原创 锁屏通知
最近公司要做一个类似QQ锁屏通知的效果,百般尝试都没达到自己想要实现的效果,尤其是7.0+的机子,百度搜罗了N多篇文章基本都一样,大概思路就是再单独创建个Activity来展示消息,但是效果不尽人意。没办法只有自己研究Notification了,虽说最终效果还是要比理想的差一点但是也还能接受,想实现锁屏通知首先要手动设置通知权限,这个设置朋友们有没有能通过代码来实现的?有的话留言,谢谢!<!...
2018-03-12 16:18:07 3747 1
翻译 监听软键盘的删除键,避免闪退!
private int num = 0;//监听软键盘的删除键et_name.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCO
2018-01-04 18:07:16 867
原创 通知:Notification
// 创建通知 private void createNotification() { // 创建通知管理者 manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); // 创建builder实例 builder = new
2017-11-22 18:48:44 304
原创 android启动默认浏览器
一、启动android默认浏览器在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接。关于Intent的更多内容请参考《常用Intent》示例1 Intent intent =newIntent(); int
2017-10-30 10:57:41 1680
原创 Java-Reflect反射
反射概述:Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。GetClass { /* * Class类就是描述class文件对象的类 * * 获取class文件对象的三种方
2017-04-09 17:03:19 352
原创 Java-Socket网络编程TCP和UDP的使用
/* * java.net.InetAddress:此类表示互联网协议 (IP) 地址。 * * 两个静态方法:可以获取InetAddress对象 * static InetAddress getLocalHost() 返回本地(自己使用的电脑 127.0.0.1)主机。 * static InetAddress getByName(String host)
2017-04-08 17:49:46 582
原创 Java-多线程
/* * 实现多线程的第一种方式:继承Thread类 * * 实现步骤: * 1.创建子类继承Thread类 * 2.重写Thread类中的run方法,设置线程的任务 * 3.创建子类的对象 * 4.调用Thread类中的start方法 * 使该线程开始执行;Java 虚拟机调用该线程的 run 方法。 *
2017-04-06 18:03:10 319
原创 Java-Properties
/* * java.util.Properties集合 继承 Hashtable * Properties集合的健和值默认都是字符串 * Properties集合是唯一一个和IO流相结合的集合,可以把集合中的临时数据持久化存储 * * Properties集合中特有的方法: * 构造方法: * Properties() *
2017-04-05 17:06:05 341
原创 Java-对象的序列化和反序列化
/* * 对象的序列化和对象的反序列化: *1、 对象的序列化:把对象以流的方式写入到文件中保存 *2、 对象的反序列化:把文件中保存的对象,以流的方式读取出来 */ /* * 对象的反序列化:把文件中保存的对象,以流的方式读取出来 * java.io.ObjectInputStream类 继承InputStream *
2017-04-05 16:25:52 386
原创 Java-Map
/* * java.util.Map接口:双列集合 * * Map集合的特点: * 1.健不能重复,但是值可以重复 * 2.一个健只能对应一个值 * 3.健和值的泛型的数据类型可以一致,也可以不一致 * 4.为了保证健不重复,健中必须重写hashCode和equals方法 * 5.Map集合是一个无序的集合 */
2017-03-30 15:54:33 462
原创 java-正则表达式
正则表达式一般用来匹配定义规则,严格区分大小写。正则表达式的语法规则:字符:x含义:代表的是字符x例如:匹配规则为 "a",那么需要匹配的字符串内容就是 ”a” 字符:\\含义:代表的是斜线字符'\' 例如:匹配规则为"\\" ,那么需要匹配的字符串内容就是 ”\” 字符:\t含义:制表符例如:匹配规则为"\\t" ,那么对应的效果就是产生一个制
2017-03-28 15:49:59 266
原创 java-抽象类、接口
1、抽象类: --将子类含有的相同功能抽取出来,有构造函数,但是不能创建对象(和接口一样只有方法的声明没有方法的实现,创建对象没有意义),抽象类中的方法不一定都是抽象方法。 --子类在继承抽象类的时候必须重写所有的抽象方法,否则该子类也是抽象类。2、接口: --接口是功能的集合,没有构造
2017-03-26 16:36:20 472
原创 java-三大基石:封装、继承、多态
封装:把对象的属性(变量)和操作(方法)整合为一个整体,封装定义如何引用对象的数据【如:bean中的实体类】。继承:继承是从已有的类中派生出新的类,新的类可以继承已有类中的数据属性和行为(不包含私有的(private)属性和行为)。多态:父类的引用指向了子类的对象,使用前提是必须存在继承(extends)或者实现(implement)关系【如:类的上下转型】。
2017-03-25 20:16:16 384
原创 java-==和.equals()的区别
==:如果是基本数据类型比较的是他们的值,但是当数据是引用数据类型时比较的就是他们对象的引用在堆内存中的地址。equals:不能用于基本数据类型变量 1、如果没有对equals方法进行重写,比较的是引用类型变量所指向对象在堆内存的地址。 2、如果对equals进行了重写,比较的是指向对象的内容。
2017-03-25 17:30:31 288
原创 IOUtils--IO流应用
IO字节流基类:--InputStream:--OutputStream:IO字符流基类:--Reader:--Writer:IO转换流:InputStreamReader 字节流通向字符流的桥梁,用于操作字节流的字符流对象。 OutputStreamWriter 字符流通向字节流的桥梁,用于操作字符流的字节流对象。在使用IO流的时候尽量使用自定义
2017-03-22 17:00:27 544
原创 装饰模式 DecoratePattern
public class DecoratePattern { /** * 装饰类的好处:相比继承而言减少了代码的耦合性(继承父类改变子类也要相应的做出改变) * * 装饰类的满足条件:1、在装饰类中要获取被装饰类的引用 private Student student 2、在装饰类中的构造函数中加入被装饰类的对象 */ pub
2017-03-20 10:35:55 334
原创 File类的应用
// 创建文件 File file = new File("test.txt"); boolean createNewFile = file.createNewFile(); // 创建单一文件夹 File file2 = new File("Simon"); boolean mkdir = file2.
2017-03-19 19:48:56 536
原创 App版本更新-便捷安装
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"//** * 判断是否是8.0,8.0需要处理未知应用来源权限问题,否则直接安装 */private void checkIsAndroidO() { if (Build.VERSION.SDK_INT >= 26) {...
2017-01-05 19:39:24 786
原创 java-堆、栈、方法区的区别
一、定义 1、堆:FIFO队列优先,先进先出。堆存放在二级缓存中,调用对象的速度相对慢一些,生命周期由虚拟机的垃圾回收机制决定。2、栈:FILO先进后出,暂存数据的地方。栈存放在一级缓存中,存取速度较快,“栈是限定仅在表头进行插入和删除操作的线性表”。二、存储的数据类型1、堆用来存储new出来的对象和数组2、栈用来存储基本类型变量和对象的引用变量三、优缺点
2016-12-30 20:06:49 2426
原创 启动其它APP中的Activity
Intent intent = new Intent();String packageUrl = "com.simon.bbb";String activityUrl = "com.simon.bbb.MainActivity";// 1.是当前的包名,2跳转activity的类名,一定要加上包名intent.setClassName(packageUrl, act
2016-12-13 11:22:53 460
原创 Java集合三种类型:Set<集>、List<列表>、Map<映射>
1、Set 存放的是对象的引用,没有重复的对象。 ①:HashSet:按照哈希算法来存取集合中的对象,存取速度比较快。 ②:TreeSet:TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。 ③:LinkedHashSet:具有HashMap的查询速度,且内部使用链表维护元素顺序,因此遍历时返回的是插入次序。 2、List 以线性
2016-12-09 10:50:32 3274
原创 Android开发体系--Activity和Fragment的生命周期
一、Activity的生命周期: onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()、onDestroy();①:AActivity跳转BActivity的生命周期:【A】onCreate()、onStart()、onResume()、onPause() 【B】onCreate()、onStart()、on
2016-10-17 19:00:06 607
翻译 java 解析json 遍历未知key与value
private List list_color_key = new ArrayList();private List list_color_value = new ArrayList();JSONObject jsonObject_AA = spec_value_obj.getJSONObject("AA");Iterator it_color = jsonObject_AA.
2016-07-15 18:29:45 10398
原创 去除List中的重复值
通过HashSet删除public static void removeDuplicate(List list) { HashSet h = new HashSet(list); list.clear(); list.addAll(h); System.out.println(list); } 删除重复元素,并保持顺序
2016-07-02 15:18:14 448
原创 android 软键盘设置
可以在清单文件AndroidManifest.xml中修改activity的windowSoftInputMode属性为"adjustPan"<activity android:windowSoftInputMode="adjustPan"> android:windowSoftInputMode是设置活动的主窗口如何与包含屏幕上的软键盘窗口交互的属性有以下取
2016-06-22 15:03:29 800
原创 Listview
ListView滚动条监听判断滚动到底部还是顶部 lv.setOnScrollListener(new OnScrollListener() {@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) {
2016-06-15 11:26:25 417
转载 Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
1、首先说一下canvas类:Class OverviewThe Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into t
2016-06-14 15:08:06 655
原创 MobileCheck手机参数检测
package com.simon.mobile;import java.io.BufferedReader;import java.io.File;import java.io.FileFilter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOExcep
2016-06-01 14:57:21 1163
原创 Map循环获取key+value
private Map<Bitmap, Bitmap> bitMap = new HashMap<Bitmap, Bitmap>();第一种:可单独获取key和value if (bitMap != null) { for (Bitmap key : bitMap.keySet()) { ...
2016-05-31 12:17:13 5273 1
原创 Android和html5的js交互
最近比较流行android和html5混合开发,那么彼此间的交互效果是少不了的,就是最基本的h5嵌套有的时候也需要彼此控制,那么该怎么实现呢?接下来看代码...... private WebView wv_show; Context mContext; String simon = "YDSimon";//给js传的值 // String url = "ht
2016-05-30 10:38:51 578
原创 关于自定义view的那点事
做android开发到现在也有一小段时间了,知识确实在不断的累计,但是遗忘的却也是不少,有筒子会问那该怎么办嘞?呵呵 凉拌!我个人总结了下学习经验,1善于思考把各种知识串联起来,2敢于实践,有的人总以为这个模块的所有代码我都能看得懂就直接过了,其实看得懂并不代表你写的出来,3勤于提问,碰到问题首先要着手自己解决,其次借鉴他人,最后请教伙伴。如果对于所有知识都保持在一知半解的状态注定你是一辈子的代码
2016-05-28 14:15:25 596
翻译 支付宝获取私钥和公钥
支付宝官网:店家我的商家服务—在页面的下方找到——>签约管理—>找打 移动支付—–>点击下载集成文档—>跳到新的页面,在页面下方—>找到下载开发包,下载移动支付即可。然后解压出来之后一般会得到三个文件夹。这个时候要打开文件名为: 支付宝钱包支付接口开发包2.0标准版的文件。打开之后有一个Demo 文件。里面会有三个文件 夹:第一个 openssl; 第二个 服务端 Demo,第三个 客户端d
2016-05-24 20:10:39 24843
翻译 获取Android版本名和版本号
//版本名 public static String getVersionName(Context context) { return getPackageInfo(context).versionName; }//版本号 public static int getVersionCode(Context context) { return getPackageInfo(conte
2016-05-16 14:43:56 461
原创 ListView中添加倒计时条目
朋友说在listview中添加倒计时的时候,重新滑动会造成倒计时混乱,那么今天就写一个如何在Listview中添加倒计时条目的demo吧。写倒计时的方法有很多,比如说CountDownTimer 、Timer、HandlerPostMessageDelayed等等,今天推荐handler!一般来讲写倒计时的时候都会提供一个结束时间,那么整体思路就是结束时间-现在时间>0的时候,就重新触动H
2016-05-11 15:23:49 2636
原创 获取系统当前时间
获取系统当前时间:①:long currentTimeMillis = System.currentTimeMillis();// -->获取当前时间 【1462942365306】②:Date date = new Date();// 获取当前日期 【Wed May 11 12:52:45 GMT+08:00 2016】SimpleDate
2016-05-11 12:58:01 500
NoPreloadViewPager
2018-01-03
WeChatPay-微信支付-studio
2016-05-04
WeChatPay-微信支付-eclipse
2016-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人