我有一个ArrayList,其中包含[ann,john]形式的值.我想将此ArrayList转换为{"ann","john"}形式的String数组.
我该怎么做?
我的Android代码:
final Button markabsent = (Button) findViewById(R.id.Button02);
markabsent.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
Toast.makeText(display.this,"You have marked the students absent",Toast.LENGTH_SHORT).show();
SparseBooleanArray checkedabsent = lView.getCheckedItemPositions();
for (int i = 0; i < arr2.length; i++)
{
if (checkedabsent.get(i))
{
items2.add(arr2[i]);
System.out.println(items2);
}
}
Log.d("", "items:");
for (String string : items2)
{
Log.d("string is", string);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我的Logcat:
11-10 21:44:00.414: INFO/System.out(2316): [ann, john, ann]
11-10 21:44:00.414: DEBUG/(2316): items:
11-10 21:44:00.414: DEBUG/string is(2316): ann
11-10 …Run Code Online (Sandbox Code Playgroud) 我在.NET中使用SOAP Web服务返回了一个JSON字符串.它如下:
{
"checkrecord":
[
{
"rollno":"abc2",
"percentage":40,
"attended":12,
"missed":34
}
],
"Table1":[]
}
Run Code Online (Sandbox Code Playgroud)
现在我想将此字符串解析为JSON对象.我也看了这个,他们已经用这行代码:
JObject jsonObj = JObject.Parse(json);
Run Code Online (Sandbox Code Playgroud)
所以我可以通过用我的字符串名称替换"json"来做同样的事情.我还需要引用除NewtonSoft.dll之外的任何其他DLL吗?
BTW,这是完整的Web服务代码
我创建了如下Firebase数据
tasks
-K1NRz9l5PU_0R8ltgXz
Description: "test1"
Status: "PENDING"
-K1NRz9l5PU_0CFDtgXz
Description: "test2"
Status: "PENDING"
Run Code Online (Sandbox Code Playgroud)
我需要将第二个对象的状态从PENDING更新为COMPLETED.我正在使用该updateChildren方法,但它为任务子项添加了一个新节点.
如何在不创建新节点的情况下更新第二个节点的状态?
这是我现在的代码,
//在按钮上单击侦听器
{
Firebase m_objFireBaseRef = new Firebase(AppConstants.FIREBASE_URL);
final Firebase objRef = m_objFireBaseRef.child("tasks");
Map<String,Object> taskMap = new HashMap<String,Object>();
taskMap.put("Status", "COMPLETED");
objRef.updateChildren(taskMap); //should I use setValue()...?
});
Run Code Online (Sandbox Code Playgroud) 我想创建一个CustomButton具有预定义的onClick.事实上,我的目标是做同样的工作
CustomButton mButton = getViewById(..);
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
show_something()
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将其嵌入Listener从Button继承的CustomButton对象?我想要的是CustomButton在我的布局XML文件中创建一个,而不必在我的活动中提到这个按钮,这将给出:
main.xml中:
<LinearLayout xmlns:"...">
<com.mypackage.view.CustomButton
(attributes)/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
CustomButton.java:
class CustomButton extends Button implements... {
@Override
OnClick (or something like that, that's the core of my question, what to put here)
}
Run Code Online (Sandbox Code Playgroud)
myActivity.java
public class myActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
} …Run Code Online (Sandbox Code Playgroud) 我有一个使用.NET框架实现的SOAP Web服务(.asmx),它以这种形式返回一个JSON字符串:
{ "checkrecord":[{ "rollno": "ABC2", "百分比":40, "出席":12, "遗漏":34}], "表1":[]}
现在在我的Android应用程序中,我使用ksoap以下列方式调用Web服务:
public String getjsondata(String b)
{
String be="";
SoapObject request = new SoapObject(namespace, method_NAME);
request.addProperty("rollno",b);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE android = new HttpTransportSE(url);
android.debug = true;
try
{
//android.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
android.call(soap_ACTION, envelope);
SoapPrimitive result = (SoapPrimitive)envelope.getResponse();
Log.i("myapp",result.toString());
System.out.println(" --- response ---- " + result);
be=result.toString();
if (be.startsWith("["))
{ // if JSON string is an array
JSONArr = new JSONArray(be);
System.out.println("length" + JSONArr.length());
for …Run Code Online (Sandbox Code Playgroud) 我试图建立一个custom browser与WebView采用Android API level 10(SDK 2.3.3),不幸的是我不知道如何从拦截请求webpage以打开新的浏览器窗口的URL,像与链接水龙头target="_blank".
在与符合API Doc我已经覆盖了onCreateWindow的WebChromeClient,但是当这样的链接被点击不叫.可能是这个API级别的错误?我还要shouldOverrideUrlLoading完全避免WebView在内置浏览器中打开后续链接.
这是我打开的示例代码google.com.要测试它,请点按"新闻",然后点按任何新闻标题.Android内置浏览器通常以新的方式打开它browser window.
package com.myexample;
import android.app.Activity;
import android.os.Bundle;
import android.os.Message;
import android.util.Log;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class HelloAndroidActivity extends Activity {
private static String TAG = "WebViewTest";
private WebView mWebView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "onCreate");
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.mywebview); …Run Code Online (Sandbox Code Playgroud) 从过去几天开始,我一直致力于使用Android代码来调用本地Web服务.我正在使用Android的ksoap库来调用我在.NET中创建的SOAP Web服务.但是,我觉得我的代码中有一些错误,因为当我从我的应用程序调用Web服务时,我得到的响应会遇到一个catch块.我尝试调试我的Android代码,但我仍然无法解决我的问题.有人可以告诉我有什么问题或者其他更简单的方法吗?
这是我迄今为止实施的Android代码:
package com.demo;
import java.net.SocketException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class Login extends Activity {
private static final String SOAP_ACTION = "http://tempuri.org/GetLoginDetails";
private static final String METHOD_NAME = "GetLoginDetails";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://10.0.2.2/testlogin/Service1.asmx";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button signin = …Run Code Online (Sandbox Code Playgroud) 我刚刚完成了一个使用Web服务连接到远程数据库的Android应用程序.我正在使用localhost.
现在,我计划在服务器上托管我的Web服务.假设我在任意数量的不同客户端智能手机上安装了我的Android应用程序.每个智能手机用户同时调用Web服务.
现在服务器如何处理这些请求?它是否每个请求执行一个线程?我想详细了解服务器处理.考虑到所有手机都使用GPRS,在这种情况下会有任何延迟吗?
顺便说一下,我的Web服务都是基于SOAP的,我打算稍后使用的服务器将是一个SQL Server.我使用.NET框架来创建Web服务.
以下情况:
我有一个app widget从网址轮询数据并使用parsed html.更新小部件.在pre-honeycomb设备上,这可以通过service不使用单独的线程来完成.现在,在ICS上,这已经发生了变化,这ASyncThread是必要的.
要TextViews在Widget-Updater-Service我使用中访问
RemoteViews remoteViews = new RemoteViews(getApplicationContext().getPackageName(), R.layout.widget_layout);
remoteViews.setTextViewText(R.id.TextView1,"test");
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用ASyncThread.可能是,主线服务已经在线程试图改变时终止了textview吗?
解决这个问题的任何想法?
我目前在Windows 7 64位操作系统上使用Eclipse Mars(64位).我安装了JDK 1.7(64位).我从一个月开始使用这个Eclipse,从一开始就安装了ADT插件.
但是,最近当我更新我的Android SDK以包含最新的Android N平台时,我在工作区中运行任何Android项目时遇到错误.
错误如下,
Android Package Builder错误:无法构建项目"HelloWorld"不支持的主要次要版本52.0
但是,当我在Eclipse Juno(64位)上使用JDK 1.7(64位)在另一个Windows 7 64位系统上尝试相同时,我没有遇到任何此类问题.
这是Eclipse还是Java的问题?