Java/Android
文章平均质量分 91
itzyjr
Stay hungry,Stay foolish!
展开
-
Guava-2-基本Guava工具
Snapshot API Docs for Guava:https://guava.dev/releases/snapshot-jre/api/docs/使用Joiner类public String buildString(List<String> stringList, String delimiter) { StringBuilder builder = new StringBuilder(); for (String s : stringList) { if (s.原创 2021-03-24 20:51:22 · 278 阅读 · 0 评论 -
Java注解@interface (入门)
注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。----------------------------------------------------------------------------------------------------------------------------------------原创 2015-01-19 17:57:36 · 4427 阅读 · 0 评论 -
Android 中的 Looper 对象
Java 官网对Looper对象的说明:public class Looperextends ObjectClass used to run a message loop for a thread. Threads by default do not have a message loop associated with them; to create one, cal原创 2014-02-12 09:30:38 · 2423 阅读 · 0 评论 -
Java异常处理
如果一个用户在运行程序期间,由于程序的原创 2014-06-03 22:28:26 · 2151 阅读 · 0 评论 -
Java反射
•JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。一、Class对象:class Person { private static int age; private String name; //...... public原创 2014-07-17 21:41:07 · 851 阅读 · 0 评论 -
Java动态代理
利用代理可以在运行时创建一个实现了一组给定接口的新类。这种功能只有在原创 2014-06-01 18:47:46 · 1189 阅读 · 0 评论 -
泛型程序设计
在JDK5.0之前:public class ArrayList{原创 2014-07-08 09:53:51 · 740 阅读 · 0 评论 -
Java作用域public、protected、default、private
作用域原创 2014-06-01 11:44:22 · 771 阅读 · 0 评论 -
理解对象序列化文件格式
对象序列化使用的是一种特殊的文件格式来存储对象。当然,可以使用writeObject/readObject方法而不需要知道在文件中表示对象的具体的字节序列。但是,如果掌握了数据格式对于深入理解对象流处理过程会有很大的帮助。为此,查看保存下来的各种十六进制对象文件。当然,具体的细节过于技术化,所以如果读者对具体的实现不感兴趣,完全可以跳过本节的内容。当对象被存储时,该对象的类也必须同时被存储。类原创 2014-06-02 22:48:46 · 2476 阅读 · 0 评论 -
代理模式详解
代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象。这些额外的操作通常需要与实际对象进行通信。例如:假设有一组对象都实现同一个接口,实现同样的方法,但这组对象中有一部分对转载 2013-12-01 04:58:35 · 955 阅读 · 0 评论 -
Java继承
父类Employee有public的域和方法,子类Manager覆盖了父类的一个方法。从代码中的注释可清楚地知道:子类可直接访问父类的公有域或方法,但若子类覆盖了父类的域或方法,就按覆盖的本意来。原创 2014-06-01 15:01:19 · 1059 阅读 · 0 评论 -
Android 四种启动模式(Launch Mode) 最直观详解
1.standard通过textView.setText(this+""); 根据HashCode(activityId)可判断出每次都创建了新Activity ( startActivity(ActivityX.this,ActivityX.class )。如果是A1-->B-->A2,如下:这时的运行情况如下:通过HashCode可以很清楚地知道是一个新原创 2014-02-15 22:54:44 · 2047 阅读 · 0 评论 -
Socket通信简单例子
package com.test;import java.io.IOException;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class Server { public static void main(String[] args) throws I原创 2015-02-04 20:52:30 · 550 阅读 · 0 评论 -
全局Listeners持有者
package com.test;public interface IBaseListener {}package com.test;public interface OnXListener extends IBaseListener { public void onXyes(); public void onXno(); public static class原创 2014-12-05 20:10:45 · 803 阅读 · 0 评论 -
新技术运用
1.android-support-design,Google Material Design库2.Volley框架3.android.support注解使用,如常用@NonNull、@IdRes、@ColorInt、@Retention、@IntDef等原创 2017-05-12 05:20:59 · 553 阅读 · 0 评论 -
Android跑Monkey
1.adb devices查看设备是否连接2.adb shell进入shell3.shell@leo:/ $ monkey -p com.mypkg -v 10000 其中:-p:包名,-v:反馈信息级别,10000:随机事件数量原创 2017-04-21 21:12:37 · 898 阅读 · 0 评论 -
序列化与反序列化
序列化(serialization)是将对象的状态信息转换为可以存储或传输的窗体的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。下面用fastjson完成序列化与反序原创 2014-06-02 23:11:36 · 3891 阅读 · 0 评论 -
Android Vibrator类
例如指定pattern为new long[]{400,800,1200,1600},就是指定在400ms、800ms、1200ms、1600ms这些时间点交替启动、关闭手机振动器, 其中repeat指定pattern数组的索引,指定pattern数组中从repeat索引开始的振动进行循环。-1表示只振动一次,非-1表示从pattern的指定下标开始重复振动。Vibrator vibrator原创 2016-03-28 15:38:04 · 491 阅读 · 0 评论 -
Android Notification剖析
要创建一个notification,有如下几个步骤:1.获取NotificationManager:String ns = Context.NOTIFICATION_SERVICE;NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);2.实例化一个Notificatio原创 2016-03-29 22:19:56 · 572 阅读 · 0 评论 -
ImageView的scaleType属性
ImageView的scaleType的属性有好几种,分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY。android:scaleType="center"保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。转载 2015-12-16 13:14:30 · 576 阅读 · 0 评论 -
android string.xml格式化
string.xml:成功%sandroid:String s = getString(R.string.success, “哈哈!”);输出:成功哈哈!原创 2015-07-15 21:18:15 · 715 阅读 · 0 评论 -
ListView之getView易错点
直接上代码:package com.antest;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.LayoutInflater;imp原创 2015-05-13 16:33:08 · 535 阅读 · 0 评论 -
关于ListView的适配器问题
activity_main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation原创 2015-04-18 20:55:02 · 492 阅读 · 0 评论 -
Dom4j详解
先来看看dom4j中对应XML的DOM树建立的继承关系(下图及API转自Here) 针对于XML标准定义,对应于图2-1列出的内容,dom4j提供了以下实现: 同时,dom4j的NodeType枚举实现了XML规范中定义的node类型。如此可以在遍历xml文档的时候通过常量来判断节点类型了。常用APIclass org.dom4j.io.SAXR原创 2015-02-03 19:11:56 · 2305 阅读 · 0 评论 -
eclipse常用操作
1.在工程中创建一个folder如myFolder,里面的文件是不会参与构建的,如果想让它参与编译构造呢?Java Builder Path -> Source -> Add Folder...把myFolder当成一个源文件夹添加进来。源文件夹是用来编译的,生成.class在bin目录下。2.Library目录下,就是工程目录的Jar包,构建路径中有了它,就可以直接调用jar文件原创 2014-06-14 22:11:04 · 812 阅读 · 0 评论 -
Java接口
接口是一组对类的需求描述,这些类要遵从接口描述的统一格式进行定义。“如果你的类遵从某个特定接口,那么我就履行这项服务”。一个具体的例子:Arrays类中的sort方法承诺可以对对象数组进行排序,但要求满足一个前提:对象所属的类必须实现了Comparable接口。如:class Employee implements Comparable{ private doubl原创 2014-05-31 22:48:36 · 859 阅读 · 0 评论 -
Java内部类
内部类(inner class):定义在另一个类中的类。为什么需要使用内部类呢?原因有二:一、内部类方法可以访问该类定义所在作用域中的数据,包括私有的数据。二、当想要定义一个回调函数且不想编写大量代码时,使用匿名(anonymous)内部类比较便捷。对于原因一:看下面例子,通过注释一目了然:public class OuterClass { private Strin原创 2014-05-31 21:44:53 · 1199 阅读 · 0 评论 -
getter和setter方法原理详解
public class Test{ public int age;}public class Test{ private int age; public void setAge(int age){ this.age=age; } public int get(){ return age; }}上面有两个Tes原创 2013-12-01 06:44:58 · 3551 阅读 · 0 评论 -
监听器原理
先上代码:package com.example.interfacemode;public class InternetManager { private Listener mListener = null; private boolean isInternetOn = false; public interface Listener { public void onState原创 2013-11-15 02:41:52 · 2563 阅读 · 0 评论 -
Android帧布局<TabHost>标签
先贴上一段代码:main.xml:http://schemas.android.com/apk/res/android" android:id="@+id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout原创 2013-10-28 01:13:53 · 1750 阅读 · 0 评论 -
Android界面圆角输入框实现
最终效果如上图。main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@c原创 2013-10-27 22:25:19 · 8845 阅读 · 0 评论 -
java线程之中断interrupt详解
class ThreadA extends Thread{ int count = 0; public void run(){ System.out.println(getName() + " 将要运行..."); while (!this.isInterrupted()){ System.out.pri原创 2012-10-06 14:57:29 · 924 阅读 · 0 评论 -
Scanner典型用法
import java.util.Scanner;public class TextScanner{public static void main(String [] args){//创建Scanner对象接受从控制台输入Scanner input = new Scanner(System.in);System.out.println("请输入名字:");//接受String型原创 2012-05-08 12:35:49 · 547 阅读 · 0 评论 -
Java集合框架
Java集合框架 接口:java.util 接口 Set类型参数: E - 此 set 所维护元素的类型所有超级接口: Collection, Iterable所有已知子接口: NavigableSet,SortedSet所有已知实现类: AbstractSet, ConcurrentSkipListSet,CopyOnWriteArra原创 2012-04-16 18:33:12 · 593 阅读 · 0 评论 -
关于java中的setOut()方法
看一个关于io流的例子:import java.io.*;public class RedirectOutputStream { public static void main(String[] args) { try { PrintStream out = System.out; PrintStream ps = new PrintStream("C:\\Doc原创 2012-04-02 11:48:45 · 5241 阅读 · 0 评论 -
静态工厂模式 理解
设想,Apple和Grape都有相同的say()方法,但由于它们并没有共同的商业逻辑,这时该怎么办?设想,要在SinaWeibo和TencentWeibo之间打通数据的获取方法,如getId()、getNickName()等方法,但它们开放的第三方API接口并不一致,这时该怎么办?如何提供出通用方法供团队协作使用?原创 2013-10-30 00:49:22 · 3710 阅读 · 0 评论 -
单例模式详解
public class SingleTon{ private SingleTon(){} private static SingleTon single; public static SingleTon getInstance(){ if(single==null){ single=new SingleTon();原创 2013-12-01 01:03:17 · 1125 阅读 · 0 评论 -
关于Holder持有者类对象
经常遇到这样的功能,想调用一次方法时希望放回多个对象。可是return语句却只允许返回一个对象,因此,解决办法只有创建一个对象,用它来持有想要返回的多个对象。如,可以创建一个DataHolder类:class DataHolder { TextView tv; SlidingDrawer mDrawer;}这个类持有一个TextView和一个SlidingDr原创 2013-10-31 03:08:09 · 2460 阅读 · 0 评论 -
Java抽象类
如果自下而上仰视类的继承层次结构,那么位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,人们只将它作为派生其他类的基类,而不作为想使用的特定的实例类。原创 2014-06-01 10:29:42 · 1197 阅读 · 0 评论 -
fastjson常用方法
首先,JSON到底是什么?JSON就是一串字符串 只不过元素会使用特定的符号标注。{} 双括号表示对象[] 中括号表示数组"" 双引号内是属性或值: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象而[{"name": "Michael"},{"n原创 2014-06-14 22:20:59 · 1387 阅读 · 0 评论