From fb918b76126b176706fa533c343b699d624b09e0 Mon Sep 17 00:00:00 2001 From: qinjiaming_branch <450015824@qq.com> Date: Wed, 31 Aug 2016 15:10:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E6=96=87=E6=A1=A3=E5=92=8C?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .merge_file_a04244 | 61 --- .merge_file_a05096 | 80 ---- .merge_file_a05568 | 76 ---- .merge_file_a06448 | 99 ----- .merge_file_a08376 | 58 --- .merge_file_a08744 | 78 ---- .merge_file_a09172 | 756 --------------------------------- 模型/顺序图_by_qinjiaming.vsdx | Bin 83875 -> 0 bytes 8 files changed, 1208 deletions(-) delete mode 100644 .merge_file_a04244 delete mode 100644 .merge_file_a05096 delete mode 100644 .merge_file_a05568 delete mode 100644 .merge_file_a06448 delete mode 100644 .merge_file_a08376 delete mode 100644 .merge_file_a08744 delete mode 100644 .merge_file_a09172 delete mode 100644 模型/顺序图_by_qinjiaming.vsdx diff --git a/.merge_file_a04244 b/.merge_file_a04244 deleted file mode 100644 index dde7f69..0000000 --- a/.merge_file_a04244 +++ /dev/null @@ -1,61 +0,0 @@ -package com.stone.shop.model; - -import java.io.Serializable; - -import cn.bmob.v3.BmobObject; -import cn.bmob.v3.datatype.BmobFile; - -/** - * 商品实体类 - * @date 2014-4-24 - * @author Stone - */ -public class Good extends BmobObject implements Serializable{ - - private static final long serialVersionUID = -3248168273019127389L; - - //private String id; 商品ID, 默认 - - private String shopID = ""; // 商店ID - private String type = ""; // 类型 - private String name = ""; // 名称 - private String price = ""; // 价格 - - public Good(String name, String price) { - this.name = name; - this.price = price; - } - - public String getShopID() { - return shopID; - } - - public void setShopID(String shopID) { - this.shopID = shopID; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getPrice() { - return price; - } - - public void setPrice(String price) { - this.price = price; - } - -} diff --git a/.merge_file_a05096 b/.merge_file_a05096 deleted file mode 100644 index 9cac20a..0000000 --- a/.merge_file_a05096 +++ /dev/null @@ -1,80 +0,0 @@ -package com.stone.shop.model; - -import java.io.Serializable; - -import cn.bmob.v3.BmobObject; -import cn.bmob.v3.datatype.BmobFile; - -/** - * 店铺实体类, 实现序列化, Activity之间实现传递 - * @date 2014-4-24 - * @author Stone - */ -public class Shop extends BmobObject implements Serializable{ - - private static final long serialVersionUID = -8796635595320697255L; - - private String userID; // 主人 - private String type; // 类型(11代表第一个GridView中的第一个) - private String name; // 店名 - private String location; // 地理位置 - private String phone; // 联系电话 - private String info; // 简介 - private String sale; // 促销信息 - public String getUserID() { - return userID; - } - - public void setUserID(String userID) { - this.userID = userID; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getInfo() { - return info; - } - - public void setInfo(String info) { - this.info = info; - } - - public String getSale() { - return sale; - } - - public void setSale(String sale) { - this.sale = sale; - } - -} diff --git a/.merge_file_a05568 b/.merge_file_a05568 deleted file mode 100644 index 2137fb2..0000000 --- a/.merge_file_a05568 +++ /dev/null @@ -1,76 +0,0 @@ -package com.stone.shop.model; - -import cn.bmob.v3.BmobObject; - -/** - * 博学堂讲座实体类 - * @date 2014-5-10 - * @author Stone - */ -public class BXTNews extends BmobObject{ - - private String title; //标题 - private String topic; //讲座主题 - private String speaker; //主 讲 人 - private String time; //讲座时间 - private String location; //讲座地点 - private String holder1; //主办单位 - private String holder2; //承办单位 - private String points; //主讲内容提要 - private String speakerinfo; //主讲人简介 - - public String getTitle() { - return title; - } - public String getTopic() { - return topic; - } - public String getSpeaker() { - return speaker; - } - public String getTime() { - return time; - } - public String getLocation() { - return location; - } - public String getHolder1() { - return holder1; - } - public String getHolder2() { - return holder2; - } - public String getPoints() { - return points; - } - public String getSpeakerinfo() { - return speakerinfo; - } - public void setTitle(String title) { - this.title = title; - } - public void setTopic(String topic) { - this.topic = topic; - } - public void setSpeaker(String speaker) { - this.speaker = speaker; - } - public void setTime(String time) { - this.time = time; - } - public void setLocation(String location) { - this.location = location; - } - public void setHolder1(String holder1) { - this.holder1 = holder1; - } - public void setHolder2(String holder2) { - this.holder2 = holder2; - } - public void setPoints(String points) { - this.points = points; - } - public void setSpeakerinfo(String speakerinfo) { - this.speakerinfo = speakerinfo; - } -} diff --git a/.merge_file_a06448 b/.merge_file_a06448 deleted file mode 100644 index 75bed35..0000000 --- a/.merge_file_a06448 +++ /dev/null @@ -1,99 +0,0 @@ -package com.stone.shop.model; - -import cn.bmob.v3.BmobUser; - -/** - * 用户实体类 - * @date 2014-4-24 - * @author Stone - */ -public class User extends BmobUser { - - public static String userId; - - - - private String sex; // 性别 - private String phone; // 电话 - private String qq; // QQ - private String school = "湖北工业大学"; // 学校 - private String cademy; // 学院 - private String dorPart; // 校区 - private String dorNum; // 寝室号 - private String state = "未登陆"; // 登录状态 - private String type = "普通用户"; // 用户类型(普通用户、黑名单、中奖者) - //private BmobFile picUser; // 头像 - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getSex() { - return sex; - } - - public void setSex(String sex) { - this.sex = sex; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getQQ() { - return qq; - } - - public void setQQ(String qq) { - this.qq = qq; - } - - public String getSchool() { - return school; - } - - public void setSchool(String school) { - this.school = school; - } - - public String getCademy() { - return cademy; - } - - public void setCademy(String cademy) { - this.cademy = cademy; - } - - public String getDorPart() { - return dorPart; - } - - public void setDorPart(String dorPart) { - this.dorPart = dorPart; - } - - public String getDorNum() { - return dorNum; - } - - public void setDorNum(String dorNum) { - this.dorNum = dorNum; - } - - public String getState() { - return state; - } - - public void setState(String state) { - this.state = state; - } - -} diff --git a/.merge_file_a08376 b/.merge_file_a08376 deleted file mode 100644 index 002c9e3..0000000 --- a/.merge_file_a08376 +++ /dev/null @@ -1,58 +0,0 @@ -package com.stone.shop.model; - -import cn.bmob.v3.BmobObject; - -/** - * 店铺评论实体类 - * @date 2014-5-3 - * @author Stone - */ -public class SComment extends BmobObject { - - private String shopID; - private String shopName; - private String userID; - private String userName; - private String content; - - public String getShopID() { - return shopID; - } - - public void setShopID(String shopID) { - this.shopID = shopID; - } - - public String getShopName() { - return shopName; - } - - public void setShopName(String shopName) { - this.shopName = shopName; - } - - public String getUserID() { - return userID; - } - - public void setUserID(String userID) { - this.userID = userID; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - -} diff --git a/.merge_file_a08744 b/.merge_file_a08744 deleted file mode 100644 index fb8f926..0000000 --- a/.merge_file_a08744 +++ /dev/null @@ -1,78 +0,0 @@ -package com.stone.shop.model; - -import cn.bmob.v3.BmobObject; - -/** - * 博学堂讲座实体类 - * @date 2014-5-10 - * @author Stone - */ -public class BXTNews extends BmobObject{ - - //private String id; - - private String title; //标题 - private String topic; //讲座主题 - private String speaker; //主 讲 人 - private String time; //讲座时间 - private String location; //讲座地点 - private String holder1; //主办单位 - private String holder2; //承办单位 - private String points; //主讲内容提要 - private String speakerinfo; //主讲人简介 - - public String getTitle() { - return title; - } - public String getTopic() { - return topic; - } - public String getSpeaker() { - return speaker; - } - public String getTime() { - return time; - } - public String getLocation() { - return location; - } - public String getHolder1() { - return holder1; - } - public String getHolder2() { - return holder2; - } - public String getPoints() { - return points; - } - public String getSpeakerinfo() { - return speakerinfo; - } - public void setTitle(String title) { - this.title = title; - } - public void setTopic(String topic) { - this.topic = topic; - } - public void setSpeaker(String speaker) { - this.speaker = speaker; - } - public void setTime(String time) { - this.time = time; - } - public void setLocation(String location) { - this.location = location; - } - public void setHolder1(String holder1) { - this.holder1 = holder1; - } - public void setHolder2(String holder2) { - this.holder2 = holder2; - } - public void setPoints(String points) { - this.points = points; - } - public void setSpeakerinfo(String speakerinfo) { - this.speakerinfo = speakerinfo; - } -} diff --git a/.merge_file_a09172 b/.merge_file_a09172 deleted file mode 100644 index bb6f120..0000000 --- a/.merge_file_a09172 +++ /dev/null @@ -1,756 +0,0 @@ -package com.stone.util; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.RandomAccessFile; -import java.io.UnsupportedEncodingException; -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - - -import android.app.Activity; -import android.app.AlertDialog; -import android.app.Dialog; -import android.app.ProgressDialog; -import android.content.ContentUris; -import android.content.Context; -import android.content.DialogInterface; -import android.database.Cursor; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Bitmap.CompressFormat; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.net.Uri; -import android.os.Build; -import android.os.Environment; -import android.provider.MediaStore; -import android.text.TextUtils; -import android.util.Log; -import android.widget.Toast; -import junit.framework.Assert; - -/** - * 工具类 - * - * @date 2014-5-9 - * @author Stone - */ - -public class Util { - - /** - * 判断电话号码是否有效 - * - * @param phoneNumber - * @return true 有效 / false 无效 - */ - - public static boolean isPhoneNumberValid(String phoneNumber) { - - boolean isValid = false; - - String expression = "((^(13|15|18)[0-9]{9}$)|(^0[1,2]{1}\\d{1}-?\\d{8}$)|(^0[3-9] {1}\\d{2}-?\\d{7,8}$)|(^0[1,2]{1}\\d{1}-?\\d{8}-(\\d{1,4})$)|(^0[3-9]{1}\\d{2}-? \\d{7,8}-(\\d{1,4})$))"; - CharSequence inputStr = phoneNumber; - - Pattern pattern = Pattern.compile(expression); - Matcher matcher = pattern.matcher(inputStr); - - if (matcher.matches()) { - isValid = true; - } - return isValid; - } - - // 判断网络是否连接 - public static boolean isNetworkConnected(Context context) { - if (context != null) { - ConnectivityManager mConnectivityManager = (ConnectivityManager) context - .getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo mNetworkInfo = mConnectivityManager - .getActiveNetworkInfo(); - if (mNetworkInfo != null) { - return mNetworkInfo.isAvailable(); - } - } - return false; - } - -private static final String TAG = "SDK_Sample.Util"; - - private static Dialog mProgressDialog; - private static Toast mToast; - - /* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串。 - * @param src byte[] data - * @return hex string - */ - public static String bytesToHexString(byte[] src){ - StringBuilder stringBuilder = new StringBuilder(""); - String nullreplace=""; - if (src == null || src.length <= 0) { - return nullreplace; - } - for (int i = 0; i < src.length; i++) { - int v = src[i] & 0xFF; - String hv = Integer.toHexString(v); - if (hv.length() < 2) { - stringBuilder.append(0); - } - stringBuilder.append(hv); - } - return stringBuilder.toString(); - } - /** - * Convert hex string to byte[] - * @param hexString the hex string - * @return byte[] - */ - public static byte[] hexStringToBytes(String hexString) { - byte[] nullreplace=null; - if (hexString == null || "".equals(hexString)) { - return nullreplace; - } - hexString = hexString.toUpperCase(); - int length = hexString.length() / 2; - char[] hexChars = hexString.toCharArray(); - byte[] d = new byte[length]; - for (int i = 0; i < length; i++) { - int pos = i * 2; - d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1])); - } - return d; - } - /** - * Convert char to byte - * @param c char - * @return byte - */ - private static byte charToByte(char c) { - return (byte) "0123456789ABCDEF".indexOf(c); - } - - /* - * 16进制数字字符集 - */ - private static String hexString="0123456789ABCDEF"; - /* - * 将字符串编码成16进制数字,适用于所有字符(包括中文) - */ - public static String toHexString(String str) - { -//根据默认编码获取字节数组 - byte[] bytes = null; - try { - bytes = str.getBytes("UTF-8"); - } catch (UnsupportedEncodingException e) { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - } - if (bytes == null) - return null; - StringBuilder sb=new StringBuilder(bytes.length*2); -//将字节数组中每个字节拆解成2位16进制整数 - for(int i=0;i>4)); - sb.append(hexString.charAt(bytes[i]&0x0f)); - } - return sb.toString(); - } - - //转换十六进制编码为字符串 - public static String hexToString(String s) - { - if("0x".equals(s.substring(0, 2))) - { - s =s.substring(2); - } - byte[] baKeyword = new byte[s.length()/2]; - for(int i = 0; i < baKeyword.length; i++) - { - try - { - baKeyword[i] = (byte)(0xff & Integer.parseInt(s.substring(i*2, i*2+2),16)); - } - catch(Exception e) - { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - } - } - - try - { - s = new String(baKeyword, "utf-8");//UTF-16le:Not - } - catch (Exception e1) - { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e1); - } - return s; - } - - public static byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) { - ByteArrayOutputStream output = new ByteArrayOutputStream(); - bmp.compress(CompressFormat.PNG, 100, output); - if (needRecycle) { - bmp.recycle(); - } - - byte[] result = output.toByteArray(); - try { - output.close(); - } catch (Exception e) { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - } - - return result; - } - - public static byte[] getHtmlByteArray(final String url) { - URL htmlUrl = null; - InputStream inStream = null; - try { - htmlUrl = new URL(url); - URLConnection connection = htmlUrl.openConnection(); - HttpURLConnection httpConnection = (HttpURLConnection)connection; - int responseCode = httpConnection.getResponseCode(); - if(responseCode == HttpURLConnection.HTTP_OK){ - inStream = httpConnection.getInputStream(); - } - } catch (MalformedURLException e) { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - } catch (IOException e) { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - } - byte[] data = inputStreamToByte(inStream); - return data; - } - - public static byte[] inputStreamToByte(InputStream is) { - try{ - ByteArrayOutputStream bytestream = new ByteArrayOutputStream(); - int ch; - while ((ch = is.read()) != -1) { - bytestream.write(ch); - } - byte imgdata[] = bytestream.toByteArray(); - bytestream.close(); - return imgdata; - }catch(Exception e){ - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - } - byte[] nullreplace=new byte[0]; - return nullreplace; - } - - public static byte[] readFromFile(String fileName, int offset, int len) { - byte[] nullreplace=new byte[0]; - if (fileName == null) { - return nullreplace; - } - - File file = new File(fileName); - if (!file.exists()) { - Log.i(TAG, "readFromFile: file not found"); - return nullreplace; - } - - if (len == -1) { - len = (int) file.length(); - } - - Log.d(TAG, "readFromFile : offset = " + offset + " len = " + len + " offset + len = " + (offset + len)); - - if(offset <0){ - Log.e(TAG, "readFromFile invalid offset:" + offset); - return nullreplace; - } - if(len <=0 ){ - Log.e(TAG, "readFromFile invalid len:" + len); - return nullreplace; - } - if(offset + len > (int) file.length()){ - Log.e(TAG, "readFromFile invalid file len:" + file.length()); - return nullreplace; - } - - byte[] b = null; - try { - RandomAccessFile in = new RandomAccessFile(fileName, "r"); - b = new byte[len]; - in.seek(offset); - in.readFully(b); - in.close(); - - } catch (Exception e) { - Log.e(TAG, "readFromFile : errMsg = " + e.getMessage()); - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - } - return b; - } - - public static int computeSampleSize(BitmapFactory.Options options, - - int minSideLength, int maxNumOfPixels) { - - int initialSize = computeInitialSampleSize(options, minSideLength, - - maxNumOfPixels); - - int roundedSize; - - if (initialSize <= 8) { - - roundedSize = 1; - - while (roundedSize < initialSize) { - - roundedSize <<= 1; - - } - - } else { - - roundedSize = (initialSize + 7) / 8 * 8; - - } - - return roundedSize; - } - - private static int computeInitialSampleSize(BitmapFactory.Options options,int minSideLength, int maxNumOfPixels) - { - double w = options.outWidth; - double h = options.outHeight; - int lowerBound = (maxNumOfPixels == -1) ? 1 :(int) Math.ceil(Math.sqrt(w * h / maxNumOfPixels)); - int upperBound = (minSideLength == -1) ? 128 :(int) Math.min(Math.floor(w / minSideLength),Math.floor(h / minSideLength)); - if (upperBound < lowerBound) { - // return the larger one when there is no overlapping zone. - return lowerBound; - } - if ((maxNumOfPixels == -1) &&(minSideLength == -1)) { - - return 1; - - } else if (minSideLength == -1) { - - return lowerBound; - - } else { - - return upperBound; - - } - } - - /** - * 以最省内存的方式读取图片 - */ - public static Bitmap readBitmap(final String path){ - try{ - FileInputStream stream = new FileInputStream(new File(path+"test.jpg")); - BitmapFactory.Options opts = new BitmapFactory.Options(); - opts.inSampleSize = 8; - opts.inPurgeable=true; - opts.inInputShareable=true; - Bitmap bitmap = BitmapFactory.decodeStream(stream , null, opts); - return bitmap; - } catch (OutOfMemoryError e) { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - return null; - } catch (Exception e) { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - return null; - } - } - - private static final int MAX_DECODE_PICTURE_SIZE = 1920 * 1440; - public static Bitmap extractThumbNail(final String path, final int height, final int width, final boolean crop) { - Assert.assertTrue(path != null && !"".equals(path) && height > 0 && width > 0); - - BitmapFactory.Options options = new BitmapFactory.Options(); - - try { - options.inJustDecodeBounds = true; - Bitmap tmp = BitmapFactory.decodeFile(path, options); - if (tmp != null) { - tmp.recycle(); - tmp = null; - } - Log.d(TAG, "extractThumbNail: round=" + width + "x" + height + ", crop=" + crop); - final double beY = options.outHeight * 1.0 / height; - final double beX = options.outWidth * 1.0 / width; - Log.d(TAG, "extractThumbNail: extract beX = " + beX + ", beY = " + beY); - options.inSampleSize = (int) (crop ? (beY > beX ? beX : beY) : (beY < beX ? beX : beY)); - if (options.inSampleSize <= 1) { - options.inSampleSize = 1; - } - - // NOTE: out of memory error - while (options.outHeight * options.outWidth / options.inSampleSize > MAX_DECODE_PICTURE_SIZE) { - options.inSampleSize++; - } - - int newHeight = height; - int newWidth = width; - if (crop) { - if (beY > beX) { - newHeight = (int) (newWidth * 1.0 * options.outHeight / options.outWidth); - } else { - newWidth = (int) (newHeight * 1.0 * options.outWidth / options.outHeight); - } - } else { - if (beY < beX) { - newHeight = (int) (newWidth * 1.0 * options.outHeight / options.outWidth); - } else { - newWidth = (int) (newHeight * 1.0 * options.outWidth / options.outHeight); - } - } - - options.inJustDecodeBounds = false; - - Log.i(TAG, "bitmap required size=" + newWidth + "x" + newHeight + ", orig=" + options.outWidth + "x" + options.outHeight + ", sample=" + options.inSampleSize); - Bitmap bm = BitmapFactory.decodeFile(path, options); - if (bm == null) { - Log.e(TAG, "bitmap decode failed"); - return null; - } - - Log.i(TAG, "bitmap decoded size=" + bm.getWidth() + "x" + bm.getHeight()); - final Bitmap scale = Bitmap.createScaledBitmap(bm, newWidth, newHeight, true); - if (scale != null) { - bm.recycle(); - bm = scale; - } - - if (crop) { - final Bitmap cropped = Bitmap.createBitmap(bm, (bm.getWidth() - width) >> 1, (bm.getHeight() - height) >> 1, width, height); - if (cropped == null) { - return bm; - } - - bm.recycle(); - bm = cropped; - Log.i(TAG, "bitmap croped size=" + bm.getWidth() + "x" + bm.getHeight()); - } - return bm; - - } catch (final OutOfMemoryError e) { - Log.e(TAG, "decode bitmap failed: " + e.getMessage()); - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - options = null; - } - - return null; - } - - public static final void showResultDialog(Context context, String msg, - String title) { - if(msg == null) - return; - String rmsg = msg.replace(",", "\n"); - Log.d("Util", rmsg); - new AlertDialog.Builder(context).setTitle(title).setMessage(rmsg) - .setNegativeButton("知道了", null).create().show(); - } - - public static final void showProgressDialog(Context context, String title, - String message) { - dismissDialog(); - if (TextUtils.isEmpty(title)) { - title = "请稍候"; - } - if (TextUtils.isEmpty(message)) { - message = "正在加载..."; - } - mProgressDialog = ProgressDialog.show(context, title, message); - } - - public static AlertDialog showConfirmCancelDialog(Context context,String message,DialogInterface.OnClickListener posListener) - { - AlertDialog dlg = new AlertDialog.Builder(context).setMessage(message).setPositiveButton("确认", posListener).setNegativeButton("取消", null).create(); - dlg.setCanceledOnTouchOutside(false); - dlg.show(); - return dlg; - } - public static final void dismissDialog() { - if (mProgressDialog != null) { - mProgressDialog.dismiss(); - mProgressDialog = null; - } - } - - /** - * 打印消息并且用Toast显示消息 - * - * @param activity - * @param message - * @param logLevel - * 填d, w, e分别代表debug, warn, error; 默认是debug - */ - public static final void toastMessage(final Activity activity, - final String message, String logLevel) { - if ("w".equals(logLevel)) { - Log.w("sdkDemo", message); - } else if ("e".equals(logLevel)) { - Log.e("sdkDemo", message); - } else { - Log.d("sdkDemo", message); - } - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - if (mToast != null) { - mToast.cancel(); - mToast = null; - } - mToast = Toast.makeText(activity, message, Toast.LENGTH_SHORT); - mToast.show(); - } - }); - } - - /** - * 打印消息并且用Toast显示消息 - * - * @param activity - * @param message - * @param logLevel - * 填d, w, e分别代表debug, warn, error; 默认是debug - */ - public static final void toastMessage(final Activity activity, - final String message) { - toastMessage(activity, message, null); - } - - /** - * 根据一个网络连接(String)获取bitmap图像 - * - * @param imageUri - * @return - * @throws MalformedURLException - */ - public static Bitmap getbitmap(String imageUri) { - Log.v(TAG, "getbitmap:" + imageUri); - // 显示网络上的图片 - Bitmap bitmap = null; - try { - URL myFileUrl = new URL(imageUri); - HttpURLConnection conn = (HttpURLConnection) myFileUrl - .openConnection(); - conn.setDoInput(true); - conn.connect(); - InputStream is = conn.getInputStream(); - bitmap = BitmapFactory.decodeStream(is); - is.close(); - - Log.v(TAG, "image download finished." + imageUri); - } catch (OutOfMemoryError e) { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - bitmap = null; - } catch (IOException e) { - Logger logger = Logger.getLogger("lavasoft"); - logger.log(Level.SEVERE, "sthwrong", e); - Log.v(TAG, "getbitmap bmp fail---"); - bitmap = null; - } - return bitmap; - } - - public static void release() { - mProgressDialog = null; - mToast = null; - } - - // ========= - // =通过URI获取本地图片的path - // =兼容android 5.0 - // ========== - - public static final String ACTION_OPEN_DOCUMENT = "android.intent.action.OPEN_DOCUMENT"; - public static final int Build_VERSION_KITKAT = 19; - public static String getPath(final Context context, final Uri uri) { - - final boolean isKitKat = Build.VERSION.SDK_INT >= 19; - - // DocumentProvider - if (isKitKat && isDocumentUri(context, uri)) { - // ExternalStorageProvider - if (isExternalStorageDocument(uri)) { - final String docId = getDocumentId(uri); - final String[] split = docId.split(":"); - final String type = split[0]; - - if ("primary".equalsIgnoreCase(type)) { - return Environment.getExternalStorageDirectory() + "/" + split[1]; - } - - } - // DownloadsProvider - else if (isDownloadsDocument(uri)) { - - final String id = getDocumentId(uri); - final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), - Long.valueOf(id)); - - return getDataColumn(context, contentUri, null, null); - } - // MediaProvider - else if (isMediaDocument(uri)) { - final String docId = getDocumentId(uri); - final String[] split = docId.split(":"); - final String type = split[0]; - - Uri contentUri = null; - if ("image".equals(type)) { - contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; - } else if ("video".equals(type)) { - contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; - } else if ("audio".equals(type)) { - contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; - } - - final String selection = "_id=?"; - final String[] selectionArgs = new String[] { split[1] }; - - return getDataColumn(context, contentUri, selection, selectionArgs); - } - } - // MediaStore (and general) - else if ("content".equalsIgnoreCase(uri.getScheme())) { - - // Return the remote address - if (isGooglePhotosUri(uri)) - return uri.getLastPathSegment(); - - return getDataColumn(context, uri, null, null); - } - // File - else if ("file".equalsIgnoreCase(uri.getScheme())) { - return uri.getPath(); - } - - return null; - } - - private static final String PATH_DOCUMENT = "document"; - - /** - * Test if the given URI represents a {@link Document} backed by a - * {@link DocumentsProvider}. - */ - private static boolean isDocumentUri(Context context, Uri uri) { - final List paths = uri.getPathSegments(); - if (paths.size() < 2) { - return false; - } - if (!PATH_DOCUMENT.equals(paths.get(0))) { - return false; - } - - return true; - } - - private static String getDocumentId(Uri documentUri) { - final List paths = documentUri.getPathSegments(); - if (paths.size() < 2) { - throw new IllegalArgumentException("Not a document: " + documentUri); - } - if (!PATH_DOCUMENT.equals(paths.get(0))) { - throw new IllegalArgumentException("Not a document: " + documentUri); - } - return paths.get(1); - } - - /** - * Get the value of the data column for this Uri. This is useful for - * MediaStore Uris, and other file-based ContentProviders. - * - * @param context - * The context. - * @param uri - * The Uri to query. - * @param selection - * (Optional) Filter used in the query. - * @param selectionArgs - * (Optional) Selection arguments used in the query. - * [url=home.php?mod=space&uid=7300]@return[/url] The value of - * the _data column, which is typically a file path. - */ - public static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) { - - Cursor cursor = null; - final String column = "_data"; - final String[] projection = { column }; - - try { - cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null); - if (cursor != null && cursor.moveToFirst()) { - final int index = cursor.getColumnIndexOrThrow(column); - return cursor.getString(index); - } - } finally { - if (cursor != null) - cursor.close(); - } - return null; - } - - /** - * @param uri - * The Uri to check. - * @return Whether the Uri authority is ExternalStorageProvider. - */ - public static boolean isExternalStorageDocument(Uri uri) { - return "com.android.externalstorage.documents".equals(uri.getAuthority()); - } - - /** - * @param uri - * The Uri to check. - * @return Whether the Uri authority is DownloadsProvider. - */ - public static boolean isDownloadsDocument(Uri uri) { - return "com.android.providers.downloads.documents".equals(uri.getAuthority()); - } - - /** - * @param uri - * The Uri to check. - * @return Whether the Uri authority is MediaProvider. - */ - public static boolean isMediaDocument(Uri uri) { - return "com.android.providers.media.documents".equals(uri.getAuthority()); - } - - /** - * @param uri - * The Uri to check. - * @return Whether the Uri authority is Google Photos. - */ - public static boolean isGooglePhotosUri(Uri uri) { - return "com.google.android.apps.photos.content".equals(uri.getAuthority()); - } -} diff --git a/模型/顺序图_by_qinjiaming.vsdx b/模型/顺序图_by_qinjiaming.vsdx deleted file mode 100644 index 62987f11bcf8c8c86ccaa53a640dc8af4fc1a2b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83875 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%0Ax@BSS_s0; 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 y@6xGU|0@0G3H(0b?