我是 Android 应用程序的新手,我想在资源文件夹中创建一个 plist 文件,我尝试创建 plist 文件,我花了 2 个小时,但我无法创建它,请帮助我。
谢谢
我试过了:
从资源中将新文件夹创建为“raw”,然后在 raw 中创建 xml 文件,但出现错误。
Android 不使用 plist 文件,它们是 iOS/MacOS/OsX 的一个特性。
Android 项目架构不使用 plist,您有 AndroidManifest.xml 来自定义您的应用程序,或者如果您想要资源只需在 yourProject/res 上创建一个文件并使用它
我使用以下示例......来自来源:http: //solutionforandroid.blogspot.com.br/2013/05/how-to-parse-plist-in-android-and-how.html
public class ProductsPlistParsing {
Context context;
// constructor for to get the context object from where you are using this plist parsing
public ProductsPlistParsing(Context ctx) {
context = ctx;
}
public List<HashMap<String, String>> getProductsPlistValues() {
// specifying the your plist file.And Xml ResourceParser is an event type parser for more details Read android source
XmlResourceParser parser = context.getResources()
.getXml(R.xml.products);
// flag points to find key and value tags .
boolean keytag = false;
boolean valuetag = false;
String keyStaring = null;
String stringvalue = null;
HashMap<String, String> hashmap = new HashMap<String, String>();
List<HashMap<String, String>> listResult = new ArrayList<HashMap<String, String>>();
int event;
try {
event = parser.getEventType();
// repeting the loop at the end of the doccument
while (event != parser.END_DOCUMENT) {
switch (event) {
//use switch case than the if ,else statements
case 0:
// start doccumnt nothing to do
// System.out.println("\n" + parser.START_DOCUMENT
// + "strat doccument");
// System.out.println(parser.getName());
break;
case 1:
// end doccument
// System.out
// .println("\n" + parser.END_DOCUMENT + "end doccument");
// System.out.println(parser.getName());
break;
case 2:
if (parser.getName().equals("key")) {
keytag = true;
valuetag = false;
}
if (parser.getName().equals("string")) {
valuetag = true;
}
break;
case 3:
if (parser.getName().equals("dict")) {
System.out.println("end tag");
listResult.add(hashmap);
System.out.println(listResult.size() + "size");
hashmap = null;
hashmap = new HashMap<String, String>();
}
break;
case 4:
if (keytag) {
if (valuetag == false) {
// hashmap.put("value", parser.getText());
// System.out.println(parser.getText());
// starttag = false;
keyStaring = parser.getText();
}
}
if (valuetag && keytag) {
stringvalue = parser.getText();
hashmap.put(keyStaring, stringvalue);
// System.out.println(keyStaring);
// System.out.println(stringvalue);
valuetag = false;
keytag = false;
// System.out.println("this is hash map"
// + hashmap.get(keyStaring));
// Toast.makeText(getApplication(), keyStaring,
// Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
event = parser.next();
}
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//here you get the plistValues.
return listResult;
}
}