gpt4 book ai didi

android - 如何获取日期值并使用json android将其发送到服务器?

转载 作者:行者123 更新时间:2023-11-29 01:13:33 24 4
gpt4 key购买 nike

我正在制作注册表单,我必须在其中获取用户日期并将其保存在数据库中。我是 android 的新手,所以我不知道如何将日期选择器放在 edittext 上并将日期选择器的值发送到服务器..请解决我的问题..

这是我的 Registartion.java

public class RegistrationForm extends AppCompatActivity {

EditText fn,ln,mb,em,pw,cpw,dob,gen;
Switch sw;
RadioGroup male,feml;
Switch swth;
private ProgressDialog pDialog;



private static String url_create_book = "http://cloud.....com/broccoli/creatinfo.php";

// JSON Node names
// JSON Node names
private static final String TAG_SUCCESS = "success";


String rval;

JSONParser jsonParser = new JSONParser();
private int serverResponseCode = 0;
Context c;
int i=0;


Button sub;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration_form);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);


fn=(EditText)findViewById(R.id.fnm) ;
ln=(EditText)findViewById(R.id.lnm) ;
mb=(EditText)findViewById(R.id.mobile) ;
em=(EditText)findViewById(R.id.email) ;
pw=(EditText)findViewById(R.id.pass) ;
cpw=(EditText)findViewById(R.id.cpass) ;


RadioButton male=(RadioButton)findViewById(R.id.rgm) ;

RadioButton feml=(RadioButton)findViewById(R.id.rgf) ;

Switch swth=(Switch)findViewById(R.id.mySwitch) ;



RadioGroup rgrp=(RadioGroup)findViewById(R.id.rg);

RadioButton radioButton;





getSupportActionBar().setDisplayHomeAsUpEnabled(true);
sub=(Button)findViewById(R.id.sub2);




sub.setOnClickListener(new View.OnClickListener() {



@Override
public void onClick(View v) {
RadioGroup rgrp=(RadioGroup)findViewById(R.id.rg);

RadioButton radioButton;

int selectedId = rgrp.getCheckedRadioButtonId();

// find the radiobutton by returned id
radioButton = (RadioButton) findViewById(selectedId);
rval=radioButton.getText().toString();
Toast.makeText(RegistrationForm.this,
rval, Toast.LENGTH_SHORT).show();


new CreateNewProduct().execute();



// startActivity(new Intent(RegistrationForm.this, Home.class));


}
});


}







class CreateNewProduct extends AsyncTask<String, String, String> {
private String fname;
private String lname;
private String email;
private String passwrd;
private String cpasswrd;



/**
* Before starting background thread Show Progress Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(RegistrationForm.this);
pDialog.setMessage("Creating books..");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
fname = fn.getText().toString();
lname = ln.getText().toString();
email = em.getText().toString();
passwrd=pw.getText().toString();
cpasswrd=cpw.getText().toString();
}




protected String doInBackground(String... args) {


// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("First_Name", fname));
params.add(new BasicNameValuePair("Last_Name",lname));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("Gender", rval));
params.add(new BasicNameValuePair("password", passwrd));
params.add(new BasicNameValuePair("confirmPasw",cpasswrd));


// getting JSON Object
// Note that create product url accepts POST method
JSONObject json = jsonParser.makeHttpRequest(url_create_book,
"POST", params);

// check log cat fro response
Log.d("Create Response", json.toString());

// check for success tag
try {
int success = json.getInt(TAG_SUCCESS);

if (success == 1) {
// successfully created product
Intent i = new Intent(getApplicationContext(), Login.class);
startActivity(i);

// closing this screen
finish();
} else {
// failed to create product
}
} catch (JSONException e) {
e.printStackTrace();
}

return null;
}

/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// dismiss the dialog once done
pDialog.dismiss();
}

}

这是我的 xml:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.zeba.broccoli.Login">




<!-- Registration Form -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dip"
android:orientation="vertical"
android:layout_marginTop="20dp"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true">
<!-- Full Name Label -->

<EditText android:id="@+id/fnm"

android:hint="First Name"
android:layout_width="fill_parent"
android:background="@drawable/rounded_edittext"
android:layout_height="40dp"
android:paddingLeft="5dp"
android:layout_marginTop="30dp"

android:layout_marginBottom="20dip"/>

<EditText android:id="@+id/lnm"

android:hint="Last Name"
android:layout_width="fill_parent"
android:background="@drawable/rounded_edittext"
android:layout_height="40dp"
android:paddingLeft="5dp"

android:layout_marginBottom="20dip"/>


<EditText android:id="@+id/mobile"
android:layout_width="fill_parent"

android:layout_height="40dp"
android:paddingLeft="5dp"
android:background="@drawable/rounded_edittext"
android:hint="Mobile Number"
android:layout_marginBottom="20dip"/>
<!-- Password Label -->


<EditText android:id="@+id/email"
android:layout_width="fill_parent"
android:hint="Email"
android:layout_height="40dp"
android:paddingLeft="5dp"
android:background="@drawable/rounded_edittext"

android:layout_marginBottom="20dip"/>

<EditText android:id="@+id/pass"
android:layout_width="fill_parent"
android:hint="password"
android:inputType="textPassword"
android:layout_height="40dp"
android:paddingLeft="5dp"
android:background="@drawable/rounded_edittext"

android:layout_marginBottom="20dip"/>
<!-- Register Button -->



<EditText android:id="@+id/cpass"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:paddingLeft="5dp"
android:inputType="textPassword"
android:background="@drawable/rounded_edittext"
android:hint="Confirm password"
android:layout_marginBottom="20dip"/>


<EditText android:id="@+id/dob"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:paddingLeft="5dp"
android:background="@drawable/rounded_edittext"
android:hint="Date of Birth(Optional)"
android:layout_marginBottom="20dip"/>
<!-- Register Button -->


<!-- Link to Login Screen -->


<TextView
android:id="@+id/gen"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:text="Gender"
android:textSize="18dp"/>


<RelativeLayout

android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context=".MainActivity"
>
<RadioGroup
android:id="@+id/rg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/rgm"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:checked="true"

android:layout_weight="1"
android:textSize="14dp"
android:text="Male"
/>
<RadioButton
android:id="@+id/rgf"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:checked="false"

android:layout_weight="1"
android:textSize="14dp"
android:text="Female"
/>
</RadioGroup>
</RelativeLayout>



<View
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#c0c0c0"/>



<TextView android:id="@+id/rupdates"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:layout_marginBottom="20dip"
android:text="Receive updates on offers, promotions and discounts"
android:gravity="center"
android:textSize="20dip"
/>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:padding="5dp">

<TextView android:id="@+id/sms"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:text="Subscribe to sms"

android:textSize="20dip"
/>

<Switch
android:id="@+id/mySwitch"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true" />


<Button
android:id="@+id/sub2"
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="Submit"
android:background="@drawable/mybutton"

android:textColor="#fff"
android:textStyle="bold"
android:elevation="0dp" />


</RelativeLayout>






</LinearLayout>
<!-- Registration Form Ends -->
</ScrollView>

p.s 请尝试通过我的编码给出答案

最佳答案

我不太了解通过 NameValuePair 向服务器发送数据,因为它现在已经过时了......您可以使用库将数据发送到由 google name VOLLEY LIBRARY

提供的服务器

要使用 volley,您需要将其添加到您的应用级 gradle 依赖项

compile 'com.android.volley:volley:1.0.0'

并以这种格式向服务器发送数据...

ProgressDialog progress=new ProgressDialog(mContext, R.style.MyProgressDialog);
progress.setProgressStyle(android.R.style.Widget_ProgressBar_Small);
progress.show();
StringRequest stringRequest = new StringRequest(Request.Method.POST, PROJECT_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progress.dismiss();
if (response.trim().equals("success")) {
Toast.makeText(mContext, "Project Sucessfully Send", Toast.LENGTH_LONG).show();

} else {
Toast.makeText(mContext, response, Toast.LENGTH_LONG).show();

}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progress.dismiss();
Toast.makeText(mContext, error.toString(), Toast.LENGTH_LONG).show();

}
}
) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<>();
map.put("teacher-email", teacheremail);
map.put("teacher-name", teachername);
map.put("student-id", id);
map.put("student-name",to);
map.put("title",title);
map.put("message", message);
map.put("project-url", project);
map.put("status",status);
map.put("startdate",startdate);
map.put("enddate",enddate);
return map;
}

日期选择器

您可以像这样将日期选择器添加到您的编辑文本中

Editext et=(Editext)findViewByID(your id);
et.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
int mYear, mMonth, mDay;
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
et.setText(dayOfMonth + "/" + (month + 1) + "/" + year);
}
}, mYear, mMonth, mDay);
//forsetting minimum date for selection
datePickerDialog.getDatePicker().setMinDate(c.getTimeInMillis()); //optional for setting min date
datePickerDialog.show();
}
}

更新

将此添加到您的值(value)观/风格上

<style name="datepicker" parent="@android:style/Theme.Holo.Light.Dialog">
<!---TODO-->
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:focusedMonthDateColor">@android:color/holo_red_dark</item>
</style>

并通过更改此主题将此主题添加到您的日期选择器

DatePickerDialog datePickerDialog = new DatePickerDialog(mContext,R.style.datepicker, new DatePickerDialog.OnDateSetListener() 

关于android - 如何获取日期值并使用json android将其发送到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com