上篇文章采用 Properties 读写配置,各种路径错误,要么没有写入权限.

后来查资料,采用另一种方式读写 SharedPreferencesImpl

直接贴代码

公共类 -- 读写

package com.**.demo.utils;

import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log; public class UrlConfig {
private static SharedPreferences share;
private static String configPath = "appConfig"; public static SharedPreferences getProperties(Context context) {
try {
share = context.getSharedPreferences(configPath, Context.MODE_PRIVATE); } catch (Exception e) {
e.printStackTrace(); } return share;
} public static String setProperties(Context context, String keyName, String keyValue) {
try {
share = context.getSharedPreferences(configPath, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = share.edit();//取得编辑器
editor.putString(keyName, keyValue);//存储配置 参数1 是key 参数2 是值
editor.commit();//提交刷新数据 } catch (Exception e) {
e.printStackTrace();
Log.e("setPropertiesError", e.toString());
return "修改配置文件失败!";
}
return "设置成功";
} }

封装

package com.**.demo.json;

import android.content.Context;
import android.content.SharedPreferences;
import com.**.demo.utils.UrlConfig; /**
* 网络请求
*/ public class UrlString { private static final String IP = "192.168.1.10:8000"; private String contrastIPName = "contrastIP"; // 上传路径
private String ip;
private String ipAddress; public void setIPAddress(Context context) {
//Properties proper = ProperTies.getProperties(context);
//this.ip = proper.getProperty(contrastIPName, "");
SharedPreferences proper = UrlConfig.getProperties(context);
this.ip = proper.getString(contrastIPName, "");
// 设置默认值
if (this.ip.equals("")){
this.ip = IP;
}
this.ipAddress = "http://" + this.ip + "/v1.0/index.html";
} public String setIPAddress(Context context, String keyValue) {
// String result = ProperTies.setProperties(context, contrastIPName, keyValue);
String result = UrlConfig.setProperties(context, contrastIPName, keyValue);
this.ip = keyValue;
this.ipAddress = "http://" + this.ip + "/v1.0/index.html";
return result;
} public String getIP() {
return this.ip;
} public String getIPAddress() {
return this.ipAddress;
}
}

使用方式同上一篇.

参考:  http://www.jianshu.com/p/87024ce283c9

参考:  http://leequer.iteye.com/blog/654942

Android读写配置2的更多相关文章

  1. Android读写properties配置文件

    写这篇文章之前可以成功运行,文章后就各种找不到文件.所以并没有采用此种方式,后期完善.详见下篇解决方案. 配置文件读取很容易,修改需要注意权限,比如assets目录下就不允许修改. 配置文件的创建: ...

  2. Win10下Android studio配置

    Win10下Android studio配置 一.安装Android Studio的准备工作 1.下载好JDK,去官网上找一个下载下来 2.安装JDK.并配置环境变量.安装过程:本人将使用的是jdk- ...

  3. [Android] 环境配置之正式版Android Studio 1.0

    昨天看见 Android Studio 1.0 正式版本发布了:心里挺高兴的. 算是忠实用户了吧,从去年开发者大会一开始出现 AS 后就开始使用了:也是从那时开始就基本没有用过 Eclipse 了:一 ...

  4. Android studio配置Git

    Android studio配置Git 1.下载window 版git并安装:下载地址 2.Android Studio设置git插件:File->Setting->Version Con ...

  5. [Android] 环境配置之基础开发环境(SDK/Android Studio)(转)

    [Android] 环境配置之基础开发环境(SDK/Android Studio)   博客: blog.csdn.net/qiujuer 网站: www.qiujuer.net 开源库: Geniu ...

  6. Android Studio配置Git及Git文件状态说明

    Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...

  7. Android 读写SD卡的文件

    今天介绍一下Android 读写SD卡的文件,要读写SD卡上的文件,首先需要判断是否存在SD卡,方法: Environment.getExternalStorageState().equals(Env ...

  8. Eclipse项目导入Android Stuio 配置出现 Timeout waiting to lock buildscript class cache for build file 'H:\studioproject\Generic_SN\build.gradle'

     Eclipse项目导入Android Stuio 配置出现 Error:Timeout waiting to lock buildscript class cache for build file  ...

  9. Android Studio 配置SVN实现代码管理

    Refference From:http://iaiai.iteye.com/blog/2267346 一.Android Studio配置SVN Android Studio关联配置SVN很简单,在 ...

随机推荐

  1. git 忽略部分文件类型的同步

    场景 利用 pycharm 进行代码操作的时候会自动创建 .idea/ 文件夹 特么我每次随便做点操作.这里面的东西也会随着自动改一些 一开始开始无视 如果是多人协同开发会导致代码合并相关的问题 因此 ...

  2. 用Pytorch训练线性回归模型

    假定我们要拟合的线性方程是:\(y=2x+1\) \(x\):[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] \(y\):[1, 3, 5, 7, ...

  3. Git服务器Gogs简易安装-Windows环境

    1.下载git for windows https://github.com/git-for-windows/git/releases/download/v2.15.0.windows.1/Git-2 ...

  4. Angular6封装http请求

    最近抽空学习了一下Angular6,之前主要使用的是vue,所以免不了的也想对Angular6提供的工具进行一些封装,今天主要就跟大家讲一下这个http模块. 之前使用的ajax库是axios,可以设 ...

  5. (二分查找 拓展) leetcode 34. Find First and Last Position of Element in Sorted Array && lintcode 61. Search for a Range

    Given an array of integers nums sorted in ascending order, find the starting and ending position of ...

  6. ansible基本使用方法

    一.ansible的运行流程 ansible是基于ssh模块的软件,所以主控端和被控端的ssh服务必须正常才能保证ansbile软件的可用性. 检查ssh服务是否正常:   systemctl sta ...

  7. 2017-2018-2 PDE 讨论班

    等等. 第一次上课居然忘记怎么让笔记本电脑和投影仪相连了. 有两个接口. 一个在外面, 没用. 一个盖着了, 忘记翻开了.

  8. UE4材质特别属生记录

    tangent space normal 切线空间法线 材质默认使用的切线空间法线,可切换为对象空间法线(彩色贴图) Separate Translucency 单独半透明 允许半透明被渲染到一个单独 ...

  9. day 14 - 1 生成器

    生成器 生成器 生成器的本质就是迭代器生成器的表现形式 生成器函数 生成器函数 —— 本质上就是我们自己写得函数 生成器表达式生成器函数: 含有 yield 关键字的函数就是生成器函数 特点: 调用函 ...

  10. codeblocks添加编译选项

    -std=c++0x