从android创建Drupal节点
在这里,我正在使用android应用程序,将drupal站点转换为android本地应用程序。在这里,我面临从android创建drupal节点的问题。简言之,我对此一无所知。但我在下面尝试过,请让我知道我错在哪里,还有其他解决方案 Druring这一次我还面临着另一个问题。在我的Posteda类中有另外两个从android创建Drupal节点,android,drupal,Android,Drupal,在这里,我正在使用android应用程序,将drupal站点转换为android本地应用程序。在这里,我面临从android创建drupal节点的问题。简言之,我对此一无所知。但我在下面尝试过,请让我知道我错在哪里,还有其他解决方案 Druring这一次我还面临着另一个问题。在我的Posteda类中有另外两个AsyncTask(category and Founder),它们从json加载数据,并在按下submit按钮之前添加到微调器。它工作得很好。但是当按下submit按钮时,也会调用上一个(
AsyncTask
(category and Founder),它们从json加载数据,并在按下submit按钮之前添加到微调器。它工作得很好。但是当按下submit按钮时,也会调用上一个(category&founder)异步任务。我不会在按下submit按钮后再次调用category&founder方法
在我的示例中,节点的drupal接受格式:
{
"type":"idea",
"title":"idea one",
"field_story_idea":[
{
"value":"test" // test is title value
}
],
"field_founder_profile_refrence":[
{
"nid":"111" // 111 is founder value
}
],
"field_idea_budget":[
{
"value":"2" // 2 is budget value
}
],
"field_idea_details":[
{
"value":"AAAAAAAA" // AAAAAAAA is idea details value
}
],
"taxonomy":{
"6":{
"tid":"6" // 6 is the category value
}
}
}
在这里,我得到了all值,并将其转换为JSON格式(如上图所示)。当我将特定数据传递给服务器时,它会给出状态代码200,但也会给出如下错误:
Response from post idea => <br /><b>Fatal error</b>: Cannot unset string offsets in <b>/var/aegir/hostmaster-HEAD/profiles/default/modules/cck/includes/content.node_form.inc</b> on line <b>60</b><br />
毕业班
public class Post_Idea extends AsyncTask<Void, Void, Void> {
String strResponse1;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pgb.setVisibility(View.VISIBLE);
}
@Override
public Void doInBackground(Void... params) {
// TODO Auto-generated method stub
String url = "URL HERE...";
//String strResponse;
try {
strResponse1 = util.makeWebForPostIdea(url,title,spinnercategoryIndexId, spinnerFounderIndexId,
story_bhnd_idea,idea_dtls, spinnerBudgetId);
System.out.println("=========> Response from post idea => "
+ strResponse1);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
pgb.setVisibility(View.GONE);
}
}
public类Post\u任务{
字符串strResponse1;
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
super.onPreExecute();
pgb.setVisibility(View.VISIBLE);
}
@凌驾
公共Void doInBackground(Void…params){
//TODO自动生成的方法存根
String url=“url HERE…”;
//字符串响应;
试一试{
strResponse1=util.makeWebForPostIdea(url、标题、spinnercategoryIndexId、spinnerFounderIndexId、,
故事(创意、创意、喷丝板);
System.out.println(“==========>来自post idea的响应=>”
+strResponse1);
}捕获(JSONException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
//TODO自动生成的方法存根
super.onPostExecute(结果);
pgb.setVisibility(视图已消失);
}
}
Util.class
public static String makeWebForPostIdea(String url, String title,int spinnercategoryIndexId, int spinnerFounderIndexId, String story_bhnd_idea, String idea_dtls,int spinnerBudgetId) throws JSONException
{
HttpPost post = new HttpPost(url);
List<NameValuePair> params = new ArrayList<NameValuePair>();
// For the Founder and all other fields covert the json to the stringer
JSONStringer jsonstringerFounder = new JSONStringer().array().object().key("nid").value(""+spinnerFounderIndexId).endObject().endArray();
JSONStringer jsonstringerstoryBhndIdea = new JSONStringer().array().object().key("value").value(""+story_bhnd_idea).endObject().endArray();
JSONStringer jsonstringerIdeaDetails = new JSONStringer().array().object().key("value").value(""+idea_dtls).endObject().endArray();
JSONStringer jsonstringerBudjet = new JSONStringer().array().object().key("value").value(""+spinnerBudgetId).endObject().endArray();
JSONStringer jsonstringercategory1 = new JSONStringer().object().key(""+spinnercategoryIndexId).object().key("tid").value(""+spinnercategoryIndexId).endObject().endObject();
JSONStringer combineallnode123 = new JSONStringer().object().key("type").value("idea").key("title").value(title).key("field_story_idea").
value(jsonstringerstoryBhndIdea).key("field_founder_profile_refrence").value(jsonstringerFounder).
key("field_idea_budget").value(jsonstringerBudjet).key("field_idea_details").
value(jsonstringerIdeaDetails).key("taxonomy").value(jsonstringercategory1).endObject();
params.add(new BasicNameValuePair("cheerfoolz",combineallnode123.toString()));
/* params.add(new BasicNameValuePair("type","idea"));
params.add(new BasicNameValuePair("title",title));
params.add(new BasicNameValuePair("field_story_idea", jsonstringerstoryBhndIdea.toString()));
params.add(new BasicNameValuePair("field_founder_profile_refrence",jsonstringerFounder.toString()));
params.add(new BasicNameValuePair("field_idea_budget", jsonstringerBudjet.toString()));
params.add(new BasicNameValuePair("field_idea_details",jsonstringerIdeaDetails.toString()));
params.add(new BasicNameValuePair("taxonomy",jsonstringercategory1.toString()));
*/
UrlEncodedFormEntity formEntity = null;
try {
formEntity = new UrlEncodedFormEntity(params);
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
post.setEntity(formEntity);
try {
HttpResponse response = client.execute(post);
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("=========> statusCode from the postidea util.java=====> "+statusCode);
if (statusCode == HttpStatus.SC_OK)
{
HttpEntity entity = response.getEntity();
//String html = EntityUtils.toString(entity);
InputStream is = entity.getContent();
return iStream_to_String(is);
}
else
{
return "Hello This is status ==> :"+String.valueOf(statusCode);
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
public static String makeWebForPostIdea(字符串url、字符串标题、int spinnercategoryIndexId、int spinnerFounderIndexId、字符串故事、字符串想法、字符串想法、int spinnerBudgetId)抛出JSONException
{
HttpPost=新的HttpPost(url);
List params=new ArrayList();
//对于创建者和所有其他字段,将json转换为stringer
JSONStringer JSONSTRINGERFOUNTOR=新JSONStringer().array().object().key(“nid”).value(“+spinnerFounderIndexId).endObject().endArray();
JSONStringer jsonstringerstoryBhndIdea=新JSONStringer().array().object().key(“值”).value(“+story\u bhnd\u idea).endObject().endArray();
JSONStringer jsonstringerIdeaDetails=new JSONStringer().array().object().key(“value”).value(“+idea\u dtls.endObject().endArray()”;
JSONStringer jsonstringerBudjet=新的JSONStringer().array().object().key(“value”).value(“+spinnerBudgetId).endObject().endArray();
JSONStringer jsonstringercategory1=new JSONStringer().object().key(“+SpinnerCategoryIndex).object().key(“+tid”).value(“+SpinnerCategoryIndex).endObject().endObject();
JSONStringer COMBINEALNODE123=新JSONStringer().object().key(“type”).value(“idea”).key(“title”).value(title).key(“field\u story\u idea”)。
value(jsonStringerStoryBndidea).key(“field\u founder\u profile\u reference”).value(jsonstringerFounder)。
关键字(“字段\想法\预算”).value(jsonstringerBudjet).key(“字段\想法\预算细节”)。
value(jsonstringerIdeaDetails).key(“分类法”).value(jsonstringercategory1.endObject();
add(新的BasicNameValuePair(“Cheer傻瓜”,combineallnode123.toString());
/*参数添加(新的BasicNameValuePair(“类型”、“理念”);
参数添加(新的BasicNameValuePair(“标题”,标题));
add(新的BasicNameValuePair(“field_story_idea”,jsonStringerstorybndidea.toString());
add(新的BasicNameValuePair(“field\u founder\u profile\u reference”,jsonstringerFounder.toString());
add(新的BasicNameValuePair(“field_idea_budget”,jsonstringerBudjet.toString());
add(新的BasicNameValuePair(“field_idea_details”,jsonstringerIdeaDetails.toString());
add(新的BasicNameValuePair(“分类法”,jsonString类别1.toString());
*/
UrlEncodedFormEntity formEntity=null;
试一试{
formEntity=新的UrlEncodedFormEntity(参数);
}捕获(不支持DencodingException e1){
//TODO自动生成的捕捉块
e1.printStackTrace();
}
post.setEntity(formEntity);
试一试{
HttpResponse response=client.execute(post);
int statusCode=response.getStatusLine().getStatusCode();
System.out.println(“==========>postedea util.java中的statusCode===>”+statusCode);
if(statusCode==HttpStatus.SC\u OK)
{
HttpEntity=response.getEntity();
//字符串html=EntityUtils.toString(实体);
InputStream=entity.getContent();
将iStream_返回到_字符串(is);
}
其他的
{
返回“Hello This is status==>:”+String.valueOf(statusCode);
}
}捕获(不支持的编码异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(客户端协议例外e){
//TODO自动生成的catc
public static String makeWebForPostIdea(String url, String title,int spinnercategoryIndexId, int spinnerFounderIndexId, String story_bhnd_idea, String idea_dtls,int spinnerBudgetId) throws JSONException
{
HttpPost post = new HttpPost(url);
List<NameValuePair> params = new ArrayList<NameValuePair>();
// For the Founder and all other fields covert the json to the stringer
JSONStringer jsonstringerFounder = new JSONStringer().array().object().key("nid").value(""+spinnerFounderIndexId).endObject().endArray();
JSONStringer jsonstringerstoryBhndIdea = new JSONStringer().array().object().key("value").value(""+story_bhnd_idea).endObject().endArray();
JSONStringer jsonstringerIdeaDetails = new JSONStringer().array().object().key("value").value(""+idea_dtls).endObject().endArray();
JSONStringer jsonstringerBudjet = new JSONStringer().array().object().key("value").value(""+spinnerBudgetId).endObject().endArray();
JSONStringer jsonstringercategory1 = new JSONStringer().object().key(""+spinnercategoryIndexId).object().key("tid").value(""+spinnercategoryIndexId).endObject().endObject();
JSONStringer combineallnode123 = new JSONStringer().object().key("type").value("idea").key("title").value(title).key("field_story_idea").
value(jsonstringerstoryBhndIdea).key("field_founder_profile_refrence").value(jsonstringerFounder).
key("field_idea_budget").value(jsonstringerBudjet).key("field_idea_details").
value(jsonstringerIdeaDetails).key("taxonomy").value(jsonstringercategory1).endObject();
params.add(new BasicNameValuePair("cheerfoolz",combineallnode123.toString()));
/* params.add(new BasicNameValuePair("type","idea"));
params.add(new BasicNameValuePair("title",title));
params.add(new BasicNameValuePair("field_story_idea", jsonstringerstoryBhndIdea.toString()));
params.add(new BasicNameValuePair("field_founder_profile_refrence",jsonstringerFounder.toString()));
params.add(new BasicNameValuePair("field_idea_budget", jsonstringerBudjet.toString()));
params.add(new BasicNameValuePair("field_idea_details",jsonstringerIdeaDetails.toString()));
params.add(new BasicNameValuePair("taxonomy",jsonstringercategory1.toString()));
*/
UrlEncodedFormEntity formEntity = null;
try {
formEntity = new UrlEncodedFormEntity(params);
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
post.setEntity(formEntity);
try {
HttpResponse response = client.execute(post);
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("=========> statusCode from the postidea util.java=====> "+statusCode);
if (statusCode == HttpStatus.SC_OK)
{
HttpEntity entity = response.getEntity();
//String html = EntityUtils.toString(entity);
InputStream is = entity.getContent();
return iStream_to_String(is);
}
else
{
return "Hello This is status ==> :"+String.valueOf(statusCode);
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}