Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,236

HOME > Mobile > Mobile Forum > รบกวนหน่อยนะครับ ผมเวลาที่ผมกด กดบันทึกค่าลงใน firebase แล้ว รอบต่อไปให้ตรง "PetProfile01" เปลี่ยนเป็น PetProfile02 PetProfile03 ไปเรื่อยๆทุกครั้งที่ผมบันทึกค่าลง firebase





 

รบกวนหน่อยนะครับ ผมเวลาที่ผมกด กดบันทึกค่าลงใน firebase แล้ว รอบต่อไปให้ตรง "PetProfile01" เปลี่ยนเป็น PetProfile02 PetProfile03 ไปเรื่อยๆทุกครั้งที่ผมบันทึกค่าลง firebase

 



Topic : 132150



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์




แบบนี้

รบกวนหน่อยนะครับ ผมเวลาที่ผมกด กดบันทึกค่าลงใน firebase แล้ว รอบต่อไปให้ตรง "PetProfile01" เปลี่ยนเป็น PetProfile02 PetProfile03 ไปเรื่อยๆทุกครั้งที่ผมบันทึกค่าลง firebase



Tag : Mobile, Android, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-09-25 23:04:23 By : ekdnai View : 176 Reply : 7
 

 

No. 1



โพสกระทู้ ( 7,470 )
บทความ ( 1 )



สถานะออฟไลน์


var id_increase = 0;

'PetProfile'+(++id_increase + 100).substring(1)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-25 23:36:31 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


ผมใ้ช Android Studio
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-27 22:17:46 By : ekdnai
 

 

No. 3



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-09-25 23:36:31
รายละเอียดของการตอบ ::
ผมใช้ Android Studio

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-27 22:18:10 By : ekdnai
 


 

No. 4



โพสกระทู้ ( 7,470 )
บทความ ( 1 )



สถานะออฟไลน์


คือเอาโค๊ดมาแค่นี้ เขียนตัวอย่างเป๊ะๆ ไม่ได้หรอกครับ ผมก็เลยเขียนให้ดูเป็นแนวทาง (psudo code) ก็ประยุกต์เอาหน่อยครับ

ประกาศตัวแปรมาเพื่อใช้ในการเก็บค่า

var id_increase = 0; // ประกาศตัวแปรมาเพื่อใช้ในการเก็บค่า ที่จะเพิ่มขึ้นที่ละ 1

'PetProfile'+(++id_increase + 100).substring(1)

"PetProfile" เป็น string constant อยู่ในวงเล็บนั่่น แต่ตัด 01 ออกเพื่อใช้ สูตรในการ กำหนดค่าที่เปลี่ยนแปลง
++id_increase เป็นการ + ค่าให้กับตัวแปร 1 ก่อนนำไปใช้งาน

(++id_increase + 100).substring(1) เป็นฟังก์ช่ั่นในการ เปลี่ยนตัวเลข ให้เป็น string เพื่อนำไปรวม กับค่า string constant

ก็ประยุกต์ให้เข้ากับ ภาษา java เอาหน่อยครับ

ผมไม่เคยใช้ android studio ภาษา java ในการเขียน mobile application( แม้มันจะดีก็ตาม)
ใช้แต่ rad studio ภาษา pascal ในการเขียน mobile application สามารถ คอมไพล์ให้ใช้งานได้ ทั้งบน andriod และ ios
มีเครื่องไม้เครื่องมือ พร้อม เสมือน frame work
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-27 22:42:51 By : Chaidhanan
 


 

No. 5



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-09-27 22:42:51
รายละเอียดของการตอบ ::
substring(1) (1) คืออะไรครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-27 23:29:22 By : ekdnai
 


 

No. 6



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-09-27 22:42:51
รายละเอียดของการตอบ ::

ตรงสีแดงอะครับ ผมไม่เข้าใจ

package com.example.admin.collarproject;

import android.app.DatePickerDialog;
import android.app.FragmentTransaction;
import android.app.ProgressDialog;
import android.content.ContentResolver;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.webkit.MimeTypeMap;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.OnProgressListener;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;
import com.google.android.gms.tasks.Tasks;
import com.google.android.gms.tasks.Task;
import com.squareup.picasso.Picasso;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Calendar;

public class page5 extends AppCompatActivity implements View.OnClickListener {


private Button buttonChoose;
private ImageView imageView2;

private Uri filePath;

public static final String FB_STORAGE_PATH = "image/";
public static final int REQUEST_CODE = 1234;
public static final int CAMERA_REQUEST_CODE = 1;

FirebaseStorage storage;
StorageReference storageReference;

private Spinner mySpinner;

private int day,month,year;

private EditText editTextCollarID;
private EditText editTextPetName;
private TextView editTextPetBrithDay;
private Button buttonSavePet;

private ProgressDialog progressDialog;
private FirebaseDatabase firebaseDatabase;
private FirebaseAuth firebaseAuth;
private StorageReference mStorageRef;
private DatabaseReference databaseReference;

DatePickerDialog datePickerDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page5);

firebaseAuth = FirebaseAuth.getInstance();

firebaseDatabase = FirebaseDatabase.getInstance();

mStorageRef = FirebaseStorage.getInstance().getReference();

databaseReference = FirebaseDatabase.getInstance().getReference();

progressDialog = new ProgressDialog(this);

storage = FirebaseStorage.getInstance();
storageReference = storage.getReference();

mySpinner = (Spinner) findViewById(R.id.gerderSpinner);

ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(page5.this,
android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.gender));
myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(myAdapter);


buttonChoose = (Button) findViewById(R.id.buttonChoose);


imageView2 = (ImageView) findViewById(R.id.imageView2);
imageView2.setScaleType ( ImageView.ScaleType.CENTER_CROP );

editTextPetBrithDay = (TextView) findViewById(R.id.editTextPetBrithDay);
editTextCollarID = (EditText) findViewById(R.id.editTextCollarID);
editTextPetName = (EditText) findViewById(R.id.editTextPetName);

buttonSavePet = (Button) findViewById(R.id.buttonSavePet);

editTextPetBrithDay.setOnClickListener(this);
buttonSavePet.setOnClickListener(this);
buttonChoose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
chooseImage();

}
});
}

public void chooseImage() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "เลือกรูปภาพ"), REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK
&& data != null && data.getData() != null) {
filePath = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
imageView2.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

}

public String getImageExt(Uri uri) {
ContentResolver contentResolver = getContentResolver();
MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
return mimeTypeMap.getExtensionFromMimeType(contentResolver.getType(uri));
}

@Override
public void onClick(View v) {
if (v == buttonSavePet) {
uploadImages();

}

if (v == editTextPetBrithDay) {
final Calendar c = Calendar.getInstance();
day = c.get(Calendar.DAY_OF_MONTH);
month = c.get(Calendar.MONTH);
year = c.get(Calendar.YEAR);

DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
editTextPetBrithDay.setText(dayOfMonth+"-"+(monthOfYear+1)+"-"+year);
}
}
,day,month,year);
datePickerDialog.show();

}

}



private void uploadImages() {
if (filePath != null) {
final ProgressDialog dialog = new ProgressDialog(this);
dialog.setTitle("กำลังลงทะเบียนสัตว์เลี้ยง");
dialog.show();

StorageReference ref = mStorageRef.child(FB_STORAGE_PATH + System.currentTimeMillis() + "." + getImageExt(filePath));

ref.putFile(filePath).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

dialog.dismiss();

Toast.makeText(getApplicationContext(), "ลงทะเบียนเสร็จสิ้น", Toast.LENGTH_SHORT).show();
taskSnapshot.getMetadata().getReference().getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
[glow=red] [font=Verdana] @Override
public void onSuccess(Uri uri) {




String collarID = editTextCollarID.getText().toString().trim();
String petName = editTextPetName.getText().toString().trim();
String petBrithDay = editTextPetBrithDay.getText().toString().trim();
String gender = mySpinner.getSelectedItem().toString();


ImageUpload imageUpload = new ImageUpload(uri.toString(), collarID, petName, petBrithDay, gender);

FirebaseUser user = firebaseAuth.getCurrentUser();


var id_increase = 0;



databaseReference.child(user.getUid()).child("PetProfile01").setValue(imageUpload);[/font]
[/glow]

}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {

}
});
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {

dialog.dismiss();

Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}
})
.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
dialog.setMessage("รอสักครู่ " + (int)progress +" %");

if (progress == 100) {
Intent p1 = new Intent(page5.this, page6.class);
startActivity(p1);
}
}
});

} else {
Toast.makeText(getApplicationContext(), "Please select image", Toast.LENGTH_SHORT).show();
}


}




}






ประวัติการแก้ไข
2018-09-28 00:04:59
2018-09-28 00:06:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-28 00:03:56 By : ekdnai
 


 

No. 7



โพสกระทู้ ( 7,470 )
บทความ ( 1 )



สถานะออฟไลน์


substring
https://www.javatpoint.com/substring


var id_increase = 0; นี่ คุณต้องแปลงค่ามาจาก ค่าล่าสุดใน database เอามาบวก 1 โดยใช้คำสั่ง select


ปล. เอาแท็กภาษาครอบโค๊ดให้ถูกสิครับ มันเป็น java ก็เอา java ครอบ
ส่วน โด๊ดที่จะเน้น ให้ใส่ remark จะอ่านโค๊ดได้ง่ายกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-28 05:50:46 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนหน่อยนะครับ ผมเวลาที่ผมกด กดบันทึกค่าลงใน firebase แล้ว รอบต่อไปให้ตรง "PetProfile01" เปลี่ยนเป็น PetProfile02 PetProfile03 ไปเรื่อยๆทุกครั้งที่ผมบันทึกค่าลง firebase
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่