我想在xml文件中附加一个带有这些值的新标签,并通过我的application.i编写一个方法,将一个新标签作为子项附加到xml文件中,该文件在android模拟器的sdcard中可用.如下附加新标签的方法如下
public void appendTag(){
try{
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("/sdcard/sample.xml"));
Node node = doc.getElementsByTagName("earth").item(0);
//append a new node to earth
Element newelmnt = doc.createElement("new");
newelmnt.appendChild(doc.createTextNode("this is a text"));
node.appendChild(newelmnt);
}
catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
执行此方法后,我无法在xml文件中找到新标记.
可以请求任何一个关于如何在xml文件中附加新标签作为子项的帮助以及如何保存修改?
如果我使用TransformerFactory我收到错误为 ERROR/AndroidRuntime(13479):java.lang.VerifyError:com.sample.xmlapp.DOMClass 我使用如下
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("/sdcard/sample.xml"));
transformer.transform(source, result);
Run Code Online (Sandbox Code Playgroud) 我想实现一个应用程序来获取Android默认浏览器历史记录并将浏览器历史记录保存到xml文件.但浏览器历史记录不会将某些设备保存到xml文件中.
我已经实现了我的应用程序以获取浏览器历史信息以保存到xml文件,如下所示:
private void browserHistoryDOM() {
try{
File newxmlfile = new File("/sdcard/Xmlfiles/briwserHistory.xml");
newxmlfile.createNewFile();
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element rootElement = document.createElement("root");
document.appendChild(rootElement);
Cursor mCur = managedQuery(Browser.BOOKMARKS_URI,Browser.HISTORY_PROJECTION, null, null, null);
mCur.moveToFirst();
if (mCur.moveToFirst() && mCur.getCount() > 0) {
while (mCur.isAfterLast() == false) {
Element em = document.createElement("bookmarkIdx");
em.appendChild(document.createTextNode(mCur.getString(Browser.HISTORY_PROJECTION_BOOKMARK_INDEX)));
rootElement.appendChild(em);
long callDate = Long.parseLong(mCur.getString(Browser.HISTORY_PROJECTION_DATE_INDEX));
SimpleDateFormat datePattern = new SimpleDateFormat ("dd-MM-yyyy/h:m:s:a");
datePattern.setTimeZone(TimeZone.getTimeZone("GMT"));
String date_str = datePattern.format(new Date(callDate));
Element em1 = document.createElement("dateIdx");
em1.appendChild(document.createTextNode(date_str));
rootElement.appendChild(em1);
Element em2 …Run Code Online (Sandbox Code Playgroud) 我已经实施了一个申请,用于从我的Google Ebony QWERTY触摸屏获取SIM卡手机号码.在这个设备中我有两张SIM卡.我使用TelephonyManager从设备获取手机号码如下
TelephonyManager tMgr = (TelephonyManager) arTnewActivity.getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = tMgr.getLine1Number();
Log.v("Device mobile numbers",getSimSerialNumber);
Run Code Online (Sandbox Code Playgroud)
从上面的代码,它将返回一个手机号码,但如果我在Ebony QWERTY双卡手机的情况下运行,那么我可以得到两个SIM卡序列号?
请任何身体帮助我..
我想从我的Android设备获取所有图像/照片/壁纸与图像保存路径.
我已经实现了从sdcard收集图像的代码,如下所示:
String[] mProjection = {
MediaStore.Images.Media._ID,
MediaStore.Images.Media.DATA
};
mCursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
mProjection,
null,
null,
MediaStore.Images.Media.DEFAULT_SORT_ORDER);
Run Code Online (Sandbox Code Playgroud)
从上面的代码我只能从sdcard中检索图像.但如果图像在设备手机内存中可用,那么我该如何检索图像/照片/壁纸?如果我使用INTERNAL_CONTENT_URI它不会返回wallapers info其他图像信息
请任何身体帮助我....
我正在寻找一个解决方案,我希望用户在他的设备上打开或安装应用程序.我必须从我的BroadcastReceiver类中获取用户打开的应用程序.我已经实现了我的代码如下:
public class AppReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
ActivityManager am = (ActivityManager)context.getSystemService(context.ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = context.getPackageManager();
while(i.hasNext()) {
ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
try {
CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
Log.v(" App Name : ", c.toString());
}catch(Exception e) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
我还在清单文件中添加了关于此接收器的信息:
<receiver android:name="AppReciever">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.PACKAGE_ADDED"></action>
<action android:name="android.intent.action.PACKAGE_CHANGED"></action>
<action android:name="android.intent.action.PACKAGE_INSTALL"></action>
<action android:name="android.intent.action.PACKAGE_REPLACED"></action>
<action android:name="android.intent.action.PACKAGE_RESTARTED"></action>
<data android:scheme="package" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
从上面的代码AppReciver没有执行以获取应用程序名称在Log.v当我打开已经存在(已安装)在设备上的新应用程序时.它仅适用于在设备上运行的其他应用程序.
请任何机构帮我从BroadcastReceiver获取当前打开的应用程序
我是android.i的新开发人员想写一些文件,我已经使用一种方法写入文件,如下所示
public void writeFile(String path,String text){
try{
Writer output = null;
File file = new File(path);
output = new BufferedWriter(new FileWriter(file));
output.write(text);
output.close();
System.out.println("Your file has been written");
}
catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
在这里我传递一个文件和文本的路径写.如果我用这种方式我可以写数据,但以前的数据正在丢失.
如何在不丢失以前文本的情况下将最新文本附加或插入文件?
提前致谢
我已经在我的应用程序中实现了ListView上的应用程序我使用了getListView()方法.我编写了如下代码:
String[] conversionsadd = getResources().getStringArray(R.array.conversions);
setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,conversionsadd));
getListView().setTextFilterEnabled(true);
getListView().setBackgroundResource(R.drawable.listback2);
Run Code Online (Sandbox Code Playgroud)
当我在onCreate方法上编写上面的代码时,我可以显示带有一些文本的列表.从上面的代码我想在列表的中心显示文本,并以颜色显示文本.
我是Android应用程序的新开发者.我希望在我的应用程序中显示谷歌地图.我想在地图上显示android小部件.我可以显示像按钮,编辑文本框,文本视图等的android小部件.
我有设计代码,用于获取xml中的地图,如下所示
<com.google.android.maps.MapView
android:id="@+id/mapId"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="XYX_API_CODE_HERE_XYX"
/>
Run Code Online (Sandbox Code Playgroud)
请任何身体都可以帮助我
谢谢你的意见
我是android的新开发者.我在我的应用程序中使用soap对象与.net数据库服务进行通信.我从数据库服务器获取响应作为字符串.但我的意图是当我从数据库服务器获取一个字符串作为响应然后imediatly视图作为文本视图同样我得到图像编码string.how以获得响应imedialty作为视图.我编写的代码如下:
String xml="<spGetUserMessages><SearchLocation></SearchLocation><LoginUserID>"+Userid+"</LoginUserID></spGetUserMessages>";
Run Code Online (Sandbox Code Playgroud)
我将请求作为XML发送到数据库服务器
数据库服务器的响应在列表中:
List<MessageClass> response=new ParseXml().getUserMessages(new Generic().getMessages(xml));
String messages=new String[response.size()];
for(int i=0;i<response.size();i++)
{
//the response values are saved in messages array
messages[i]=response.get(i).getmessage();
}
Run Code Online (Sandbox Code Playgroud)
我在该类中编写了一个基本适配器类,我们有一个方法作为getView我实现如下:
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.item, null);
TextView text=(TextView)vi.findViewById(R.id.text);;
ImageView image=(ImageView)vi.findViewById(R.id.image);
Log.v("rrrrrrrrrr", "rrrrrrrr"+messages[position]);
text.setText(messages[position]);
}
Run Code Online (Sandbox Code Playgroud)
从上面的代码我一次显示所有消息.但在这种情况下,响应是花费时间,然后我得到空白屏幕.在这里,我的目的是当我得到一个字符串响应然后我将在下次下一次类似的直到reposnse大小完成时将该字符串视为文本视图.
我已经将应用程序中的资源图像随机显示为行和列.从那些行和列我想在用户单击图像旁边时交换两个图像.以下代码将随机显示行和列中的图像.
private void rand(int imagesList[][])
{
Random generator = new Random();
int temp;
for (int i = 0; i < MAX_ROWS; i++)
for(int j = 0; j < MAX_COLS; j++)
{
int randRowPos = generator.nextInt(MAX_ROWS);
int randColPos = generator.nextInt(MAX_COLS);
temp = imagesList[i][j];
imagesList[i][j] = imagesList[randRowPos][randColPos];
imagesList[randRowPos][randColPos]= temp;
}
}
Run Code Online (Sandbox Code Playgroud)
通过使用上面的代码,我已经将图像显示为行和列.
在这里我如何交换行和列旁边的两个图像?
请任何身体帮助我.....