ServletForPOSTMethod 业务类 package com.wangjialin.internet.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServ…
APP 增量更新服务端[https://github.com/cundong/SmartAppUpdates] import com.cundong.common.Constants; import com.cundong.utils.PatchUtils; /** * 类说明: 使用旧版apk包+差分包,合并新包实例 * * @author Cundong * @date 2014-9-6 * @version 1.2 */ public class ApkPatchDemo { public…
Servlet implementation class NewsListServlet package com.wangjialin.server.xml; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequ…
Servlet implementation class NewsListServlet package com.wangjialin.server.xml; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequ…
接收并处理用户通过 GET 方式上传的数据,一般小于 2K,并且安全性要求不高. package com.wangjialin.internet.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servl…
7种无须编程的DIY开发工具 你知道几个? 现如今,各种DIY开发工具不断的出现,使得企业和个人在短短几分钟内就能完成应用的创建和发布,大大节省了在时间和资金上的投入.此外,DIY工 具的出现,也帮助广大不具备专业知识和技术的"移动开发粉"创建自己的应用提供了条件.本文从DIY开发工具说起,为广大企业和个人介绍了7款无需学习任 何编程语言,只需运用工具中所提供的各种丰富的功能模块,便可在几分钟内完成创建和发布移动应用的DIY开发工具. 1. Appmakr Appmakr是一款功能强劲…
0. 前言   Context相信所有的Android开发人员基本上每天都在接触,因为它太常见了.但实际上Context有太多小的细节并不被大家所关注,那么今天我们就来学习一下那些你所不知道的细节. 1.  Context类继承结构 Activity.Service.BroadcastReceiver等系统组件,并不像一个普通的Java对象new一下就能创建实例了,它们要有各自的上下文环境,也就是我们这里讨论的Context.可以这样讲,Context是维持Android程序中各组件能够正常工作…
增量更新工具类[https://github.com/cundong/SmartAppUpdates] import java.io.File; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.AsyncTas…
前言 在开发Android应用的时候,如果需要调用摄像头拍照或者录像,除了通过Intent调用系统现有相机应用进行拍照录像之外,还可以通过直接调用Camera硬件去去获取摄像头进行拍照录像的操作.本篇博客将讲解如何在Android应用中通过Camera拍照录像. 参考博客:https://www.cnblogs.com/plokmju/p/android_Camera.html 拍照功能Demo package com.demo; import androidx.appcompat.app.Ap…
多线程下载大文件时序图 FileDownloader.java package com.wangjialin.internet.service.downloader; import java.io.File; import java.io.RandomAccessFile; import java.net.HttpURLConnection; import java.net.URL; import java.util.LinkedHashMap; import java.util.Map; im…
有的时候我们需要获得WIFI的IP地址获得手机网络的IP地址,这是一个工具类,专门解决这个问题,这里需要两个权限: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" > </uses-permission> <uses-permission android:name="android.permission.INTERNET" > </us…
一.日志工具类 Log.java public class L { private L() { /* 不可被实例化 */ throw new UnsupportedOperationException("Cannot be instantiated!"); } // 是否需要打印bug,可以在application的onCreate函数里面初始化 public static boolean isDebug = true; private static final String TAG…
检测网络状态改变类: 1.注册网络状态广播: 2.检查网络状态: 3.注销网络状态广播: 4.获取当前网络状态,true为网络连接成功,否则网络连接失败: 5.注册网络连接观察者: 6.注销网络连接观察者. import java.util.ArrayList; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import androi…
网络 xml 解析方式 package com.example.dashu_saxxml; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.List; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.I…
xml 格式数据 <?xml version="1.0" encoding="UTF-8"?> <user-list> <user id="1"> <name>张三</name> <age>22</age> </user> <user id="2"> <name>李四</name> <age…
Toast 统一管理类: 1.短时间显示Toast: 2.长时间显示 Toast: 3.自定义显示 Toast 时间. import android.content.Context; import android.widget.Toast; // Toast 统一管理类 public class T { private T() { /* cannot be instantiated */ throw new UnsupportedOperationException("cannot be ins…
SharedPreferences 辅助类: 1.保存在手机里面的文件名: 2.保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法: 3.得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值: 4.移除某个 key 值已经对应的值: 5.清除所有数据: 6.查询某个 key 是否已经存在: 7.返回所有的键值对: 8.创建一个解决 SharedPreferencesCompat.apply 方法的一个兼容类: import java.…
跟网络相关的工具类: 1.判断网络是否连接: 2.判断是否是 wifi 连接: 3.打开网络设置界面: import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkIn…
Logcat 统一管理类: 1.默 认tag 的函数: 2.自定义 tag 的函数. import android.util.Log; // Logcat 统一管理类 public class L { private L() { /* cannot be instantiated */ throw new UnsupportedOperationException("cannot be instantiated"); } public static boolean isDebug =…
检测网络的一个工具包: 1.网络是否可用: 2.判断是否有网络连接: 3.判断 WIFI 网络是否可用: 4.判断 MOBILE 网络是否可用; 5.获取当前网络连接的类型信息: 6.获取当前的网络状态 -1:没有网络 1:WIFI网络2:wap 网络3:net网络: import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; /** * @Titl…
Android 手机中的联系人信息保存在  data\data\com.android.providers.contacts\databases\contacts2.db 中.主要有 raw_contacts 表:用来存放联系人的 id: data 表:用来存放联系人的具体数据: mimetypes 表:保存数据类型. public class ContactInfoProvider { private Context context; public ContactInfoProvider(Co…
1 /** * 获取手机的 sim 卡串号 * 需要在清单文件中配置权限: * <uses-permission android:name="android.permission.READ_PHONE_STATE" /> */ private String getSimSerial(){ // sim 卡是与电话相关的 TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);…
匹配文件后缀名 MIME 类型. import java.io.File; import android.content.Context; import android.content.Intent; import android.net.Uri; public class OpenFileUtil { public static final String[][] MIME_MapTable = { // {后缀名,MIME类型} { ".3gp", "video/3gpp&…
原理:该类派生自 BroadcastReceiver,重载方法 onReceive ,检测接收到的 Intent 是否符合 BOOT_COMPLETED,如果符合,则启动用户Activity. import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class BootBroadcastReceiver extends Broad…
AndroidInteractWithWebService.xml <?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12=&quo…
sendPOSTRequest 业务类 package com.wangjialin.internet.userInformation.service; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; public class…
以 GET 方式上传数据,小于 2K,且安全性要求不高的情况下. package com.wangjialin.internet.userInformation.service; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; public class UserInformation…
pathText = "http://192.168.1.100:8080/ServerForPicture/wangjialin.jpg" import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.graphics.Bitmap; import android.graphics.BitmapFactory; public class ImageS…
PULL 解析 XML import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlSerializer; import android.util.Xml; import com.wangjialin.domain.Pe…
解析 XML 有两种形式: 1.XMLReader XMLReaser xmlReader = saxParser.getXMLReader(); xmlReadeer.setContentHandler(hangdler); xmlREader.pase(new InputSource(is)); 2.SAXParser saxParser.parse(is, handler); 其实 SAXParser 是 JAXP(Java API for XML Processing) 对 XMLRea…