android是否有一个服务器,我的应用程序的用户可以查看其他用户发布到应用程序的内容?
我想知道如何制作一个应用程序,让该应用程序的用户通过图片发布待售商品,其他搜索它的用户可以查看这些商品。比如android版的craigslist。我想建立一个应用程序,用户可以在其中填写编辑文本,如类别、标题、价格、描述和他们想发布销售的商品图片。如何实现这一点,以便用户也可以搜索项目。据我所知,我必须将用户输入的内容发送到服务器,以便其他人可以搜索,对吗?任何人都可以指示开始的方向,这是我为用户发布项目所做的:android是否有一个服务器,我的应用程序的用户可以查看其他用户发布到应用程序的内容?,android,Android,我想知道如何制作一个应用程序,让该应用程序的用户通过图片发布待售商品,其他搜索它的用户可以查看这些商品。比如android版的craigslist。我想建立一个应用程序,用户可以在其中填写编辑文本,如类别、标题、价格、描述和他们想发布销售的商品图片。如何实现这一点,以便用户也可以搜索项目。据我所知,我必须将用户输入的内容发送到服务器,以便其他人可以搜索,对吗?任何人都可以指示开始的方向,这是我为用户发布项目所做的: public class Post extends Activity imple
public class Post extends Activity implements OnClickListener {
ImageButton ibutton1;
ImageButton ibutton2;
ImageButton ibutton3;
ImageButton ibutton4;
ImageButton ibutton5;
ImageButton ibutton6;
Intent i1;
Intent i2;
Intent i3;
Intent i4;
Intent i5;
Intent i6;
final static int cameraData1 = 1;
final static int cameraData2 = 2;
final static int cameraData3 = 3;
final static int cameraData4 = 4;
final static int cameraData5 = 5;
final static int cameraData6 = 6;
Bitmap bmp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.post);
Button button = (Button) findViewById(R.id.bNext);
button.setOnClickListener(mNextListener);
// Category spinner set up
Spinner cSpinner = (Spinner) findViewById(R.id.spCategoryPost);
ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(
this, R.array.category_array,
android.R.layout.simple_spinner_item);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cSpinner.setAdapter(adapter2);
cSpinner.setOnItemSelectedListener(new MyOnItemSelectedListener2());
initialize();
}
private void initialize() {
ibutton1 = (ImageButton) findViewById(R.id.imageButton1);
ibutton2 = (ImageButton) findViewById(R.id.imageButton2);
ibutton3 = (ImageButton) findViewById(R.id.imageButton3);
ibutton4 = (ImageButton) findViewById(R.id.imageButton4);
ibutton5 = (ImageButton) findViewById(R.id.imageButton5);
ibutton6 = (ImageButton) findViewById(R.id.imageButton6);
ibutton1.setOnClickListener(this);
ibutton2.setOnClickListener(this);
ibutton3.setOnClickListener(this);
ibutton4.setOnClickListener(this);
ibutton5.setOnClickListener(this);
ibutton6.setOnClickListener(this);
}
public void onClick(View Images) {
switch (Images.getId()) {
case R.id.imageButton1:
i1 = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i1, cameraData1);
break;
case R.id.imageButton2:
i2 = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i2, cameraData2);
break;
case R.id.imageButton3:
i3 = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i3, cameraData3);
break;
case R.id.imageButton4:
i4 = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i4, cameraData4);
break;
case R.id.imageButton5:
i5 = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i5, cameraData5);
break;
case R.id.imageButton6:
i6 = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i6, cameraData6);
break;
}
}
private OnClickListener mNextListener = new OnClickListener() {
public void onClick(View v) {
EditText edit = (EditText) findViewById(R.id.etTitle);
EditText editP = (EditText) findViewById(R.id.etPrice);
EditText editD = (EditText) findViewById(R.id.etDescription);
long currentTime = System.currentTimeMillis();
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(currentTime);
String showTime=String.format("%1$tI:%1$tM:%1$tS %1$Tp",cal);
Intent intent = new Intent(Post.this, PostSet.class);
intent.putExtra("com.mandam.isellibuy.TITLE", edit.getText().toString());
intent.putExtra("com.mandam.isellibuy.PRICE", editP.getText().toString());
intent.putExtra("com.mandam.isellibuy.DESC", editD.getText().toString());
intent.putExtra("currentTime", currentTime);
startActivity(intent);
}
};
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
Bundle extras = data.getExtras();
bmp = (Bitmap) extras.get("data");
ibutton1.setImageBitmap(bmp);
}
}
}
现在,此活动只显示用户的所有输入,以便查看,并且有一个“提交”按钮,用户单击该按钮提交要出售的项目,以便其他人可以在我的应用程序上查看该项目。这就是我感到困惑的地方,我该如何做到这一点 所以你在标题“安卓是否有服务器…”中的问题答案是否定的。谷歌没有专门为安卓提供服务器。然而,Android可以进行标准的网络通信——您可以使用您选择的任何可访问的服务器。有很多免费(分层)服务器,包括和。不过,您必须创建自己的服务器端组件 你很可能会被否决,因为你的问题的实质内容非常广泛。我可能会将你的问题改写为“如果没有Android,我如何创建Craigslist?”。这涉及到很多方面,并且有各种各样的可能性和不同的需求。你需要把你的问题分解成几个部分,尽可能地填写,然后如果你对其中的一些部分有任何具体的技术问题,那么就在StackOverflow上询问这些问题 我将尝试帮助您从正确的方向开始,正如您所要求的那样,您应该学习如何实现web服务,然后创建一个web服务来发布您的列表并检索列表。在该web服务中,您必须解释请求,并很可能将数据保存到数据库中。同样,在检索列表时,您必须转到数据库检索以前存储的列表,可能会对它们进行筛选/排序,然后以某种形式返回
这不是一件小事,祝你好运。好的,谢谢你把它分解了。我的理解有点模糊。所以我必须有某种“云”或“服务器”来处理帖子,让用户搜索帖子,对吗?你能告诉我从哪里开始吗?还有,究竟什么是web服务,它是一个网站还是互联网上的“云”,我可以用来存储这些帖子,让用户搜索这些帖子?谢谢好吧,我刚刚弄明白了什么是web服务,我要做的就是为这个项目问几个更小更具体的问题。我将问另一个关于如何启动web服务的问题。如果您能提供一些见解,我将不胜感激,再次感谢您。
public class PostSet extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.post_set);
// Setting text of edit text tvTitle from class Post
TextView tv1 = (TextView) findViewById (R.id.tvTitleText);
TextView tv2 = (TextView) findViewById (R.id.tvPrice);
TextView tv3 = (TextView) findViewById (R.id.tvTimeStamp);
TextView tv4 = (TextView) findViewById (R.id.tvDescription);
Intent intent = getIntent();
String edit = intent.getStringExtra("com.mandam.isellibuy.TITLE");
String editP = intent.getStringExtra("com.mandam.isellibuy.PRICE");
String editD = intent.getStringExtra("com.mandam.isellibuy.DESC");
//long currentTime = extras.getLong("currentTime");
tv1.setText(edit);
tv2.setText(editP);
tv4.setText(editD);
//tv3.setText(currentTime);
}
}