我是Java和Android开发的新手,并尝试创建一个简单的应用程序,它应该联系Web服务器并使用http get将一些数据添加到数据库.
当我使用计算机中的Web浏览器进行呼叫时,它可以正常工作.但是,当我在Android模拟器中执行运行应用程序的调用时,不会添加任何数据.
我已将Internet权限添加到应用程序的清单中.Logcat不会报告任何问题.
任何人都可以帮我弄清楚什么是错的?
这是源代码:
package com.example.httptest;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class HttpTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
setContentView(tv);
try {
URL url = new URL("http://www.mysite.se/index.asp?data=99");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.disconnect();
tv.setText("Hello!");
}
catch (MalformedURLException ex) {
Log.e("httptest",Log.getStackTraceString(ex));
}
catch (IOException ex) {
Log.e("httptest",Log.getStackTraceString(ex));
}
}
}
Run Code Online (Sandbox Code Playgroud) 我刚开始使用HoneyComb的片段设计.我创建了两个片段.当我单击左侧片段中的按钮时,会在右侧创建一个新片段.同时当我点击右边片段中的一个按钮时(即我下面代码中的DetialsFragment应该被另一个片段替换.main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<fragment class="com.fragment.example.Titles"
android:id="@+id/titles" android:layout_weight="1"
android:layout_width="0px"
android:layout_height="match_parent" />
<FrameLayout android:id="@+id/details" android:layout_weight="1"
android:layout_width="0px"
android:layout_height="match_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
FragmentExample.java
public class FragmentExample 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)
Titles.java
public class Titles extends Fragment {
public FragmentTransaction ft;
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.main1, null);
Button button1 = (Button)v.findViewById(R.id.button1);
button1.setText("santhosh"); …Run Code Online (Sandbox Code Playgroud) 什么是最简单的方法来显示一个字符串和图标列表RecyclerView?
因为ListView我在没有单独的适配器的情况下使用以下代码(这里是GitHub上的完整项目):

mListView = (ListView) findViewById(R.id.list_view);
mListView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
mPlanets) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView view = (TextView) super.getView(position, convertView, parent);
view.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_stars_black_24dp, 0, 0, 0);
return view;
}
});
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,
View view,
int position,
long id) {
Toast.makeText(getApplicationContext(),
"You have clicked " + mPlanets[position],
Toast.LENGTH_LONG).show();
}
});
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用ArrayAdapter,并android.R.layout.simple_list_item_1与RecyclerView …
我需要在移动设备的内部存储或 SD 卡中对 SQLite 数据库进行离线备份。但我无能为力,这怎么可能。
我在 SO 上关注了许多线程,但他们建议将 DB 一个位置复制到另一个位置,这不适合我,也不适合Google Drive.
任何指导都是宝贵的。
我试图使用处理程序更改活动的背景颜色,但我收到错误"尝试调用虚拟方法".
这是我的代码
public class MainActivity extends AppCompatActivity {
private EditText editTextUser, editTextPass;
private RelativeLayout relativeLayoutMain;
private Random random = new Random();
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
relativeLayoutMain = (RelativeLayout) findViewById(R.id.relativeLayoutMain);
Button btnSignIn = (Button) findViewById(R.id.buttonSignIn);
btnSignIn.setEnabled(false);
handler.postDelayed(runner, 2000);
Button buttonSignUp = (Button) findViewById(R.id.buttonSignUp);
buttonSignUp.setText("Not registered? CLICK HERE");
editTextUser = (EditText) findViewById(R.id.editTextUser);
editTextPass = (EditText) findViewById(R.id.editTextPassword);
if (editTextUser.getText().toString() != null && editTextPass.getText().toString() != null) {
btnSignIn.setEnabled(true);
}
}
android.content.res.Resources res = getResources();
int[] clrItems = res.getIntArray(R.array.color_background); …Run Code Online (Sandbox Code Playgroud) 我试图在按下按钮时弹出一个警告对话框,并向用户显示一些要填写的字段,以及一个用于选择正确选项的下拉菜单。
这是我的当前代码,但我觉得我需要创建一个自定义适配器而不是使用基本适配器,但我不确定如何创建一个。提前感谢您的帮助。
public void addWork() {
weightList = new ArrayList<String>();
weightRes.moveToFirst();
for (int i = 0; i < weightRes.getCount(); i++) {
weightList.add(weightRes.getString(1));
}
Context context = ClassDescription.this;
final LinearLayout layout = new LinearLayout(context);
layout.setOrientation(LinearLayout.VERTICAL);
final EditText titleBox = new EditText(context);
titleBox.setHint("Title");
layout.addView(titleBox);
final EditText pointsEarned = new EditText(context);
pointsEarned.setHint("Points Earned");
layout.addView(pointsEarned);
final EditText maxPoints = new EditText(context);
maxPoints.setHint("Total Possible Points");
layout.addView(maxPoints);
final Spinner sp = new Spinner(ClassDescription.this);
sp.setLayoutParams(new LinearLayout.LayoutParams(AbsListView.LayoutParams.WRAP_CONTENT, AbsListView.LayoutParams.WRAP_CONTENT));
sp.setAdapter(adp);
layout.addView(sp);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.work_dialog, weightList);
sp.setAdapter(adapter); …Run Code Online (Sandbox Code Playgroud)