#android #sqlite
#Android #sqlite
Вопрос:
Я пытаюсь создать автономную базу данных SQLite для моего модуля отправки заданий в приложении Android. но база данных не создана в DDMS.Скажите мне, где я ошибаюсь в приведенном ниже коде.
Fregmentsendjob.java
public class FragmentSendJob extends Fragment implements OnClickListener {
// this Fragment will be called from MainActivity
private Button submit,cancel;
private EditText ename,mobno,picktime,unit,street,suburb,destination,fare,city;
private Spinner state,group;
private ViewGroup vgroup ;
String name,pass;
String status_key;
private Typeface ftype;
private static MyDialog dialog1;
Bitmap bitmap1, bitmap2,bitmap3;
Bitmap[] bitmap;
String[] driver_details;
private byte imageInByte1[],imageInByte2[],imageInByte3[] ;
private Context mContext;
public String advertisement_count;
private String mename,mmobno,mpicktime,munit,mstreet,msuburb,mstate, msendjob,mcity,mdestination,mfare,mgroup,login_token;
// private String sename,smobno,spicktime,sunit,sstreet,ssuburb,sstate, ssendjob,scity,sdestination,sfare,sgroup,login_token;
private static FragmentDialog dialog;
//private SendJobDataBase db;
private PasswordDB db;
static final int DIALOG_ID = 0;
private SharedPreferences pref1,pref;
String latitude,longitude;
public String job_id;
public FragmentSendJob(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.sendjob_fragment, container, false);
pref1=this.getActivity().getSharedPreferences("LocDetails", getActivity().MODE_WORLD_READABLE);
pref=this.getActivity().getSharedPreferences("Driver", getActivity().MODE_WORLD_READABLE);
login_token=pref.getString("login_token","login_token");
latitude = pref1.getString("latitude","latitude");
longitude = pref1.getString("longitude","longitude");
ename = (EditText) rootView.findViewById(R.id.ename);
mobno = (EditText) rootView.findViewById(R.id.mobno);
picktime = (EditText) rootView.findViewById(R.id.picktime);
unit = (EditText) rootView.findViewById(R.id.unit);
street = (EditText) rootView.findViewById(R.id.street);
suburb = (EditText) rootView.findViewById(R.id.suburb);
destination = (EditText) rootView.findViewById(R.id.destination);
state = (Spinner) rootView.findViewById(R.id.state);
fare=(EditText) rootView.findViewById(R.id.fare);
group = (Spinner) rootView.findViewById(R.id.group);
city = (EditText) rootView.findViewById(R.id.city);
vgroup = (ViewGroup) rootView.findViewById(R.id.rel);
submit = (Button) rootView.findViewById(R.id.submit);
submit.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
new SendJob().execute();
/* Intent intent =new Intent(getActivity(),GetCurrentLocation.class);
startActivity(intent);
System.out.println(">>>>>>>>>>>>>>>>>" latitude "***********");
System.out.println(">>>>>>>>>>>>" longitude "***********");*/
}
});
cancel = (Button) rootView.findViewById(R.id.cancel);
cancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
for (int i = 0, count = vgroup.getChildCount(); i < count; i) {
View view = vgroup.getChildAt(i);
if (view instanceof EditText) {
((EditText)view).setText("");
}
}
}
});
String[] mystate= new String[]{"New South Wales","Victoria","Queensland","Northern Territory","Western Australia","South Australia"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getActivity(), R.layout.listrow, mystate);
state.setAdapter(adapter);
state.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,int pos, long arg3) {
// TODO Auto-generated method stub
mcity = state.getSelectedItem().toString();
String s1=arg0.getItemAtPosition(pos).toString();
if(s1.equals("New South Wales"))
city.setText("Sydney");
else if(s1.equals("Victoria"))
city.setText("Melbourne");
else if(s1.equals("Queensland"))
city.setText("Brisbane");
else if(s1.equals("Northern Territory"))
city.setText("Darwin");
else if(s1.equals("Western Australia"))
city.setText("Perth");
else if(s1.equals("South Australia"))
city.setText("Adelaide");
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
String[] mygroups= new String[]{"My Group","My Secondary group","Everyone"};
ArrayAdapter<String> adapters = new ArrayAdapter<String>(this.getActivity(),
R.layout.listrow, mygroups);
group.setAdapter(adapters);
group.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int pos, long arg3) {
// TODO Auto-generated method stub
msendjob = group.getItemAtPosition(pos).toString();
//gender.setText(setgender);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
return rootView;
}
private class SendJob extends AsyncTask<String, String, String[]> {
ProgressDialog pDialog = new ProgressDialog(getActivity());
@Override
protected String[] doInBackground(final String... params)
{
ConnectivityManager conMgr = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
if (conMgr.getActiveNetworkInfo() != null
amp;amp; conMgr.getActiveNetworkInfo().isAvailable()
amp;amp; conMgr.getActiveNetworkInfo().isConnected())
{
HttpClient httpclient = new DefaultHttpClient();
try
{
System.out.print("***** login token *****" login_token);
JSONObject job= new JSONObject();
mename = ename.getText().toString();
mmobno = mobno.getText().toString();
mpicktime = picktime.getText().toString();
munit = unit.getText().toString();
mstreet = street.getText().toString();
msuburb = suburb.getText().toString();
mstate = state.getSelectedItem().toString();
mcity = city.getText().toString();
mdestination = destination.getText().toString();
mgroup = group.getSelectedItem().toString();
mfare = fare.getText().toString();
mename.replace("" ," ");
mmobno.replace("" ," ");
mpicktime.replace("" ," ");
munit.replace("" ," ");
mstreet.replace("" ," ");
mstate.replace("" ," ");
msuburb.replace("" ," ");
mcity.replace("" ," ");
mdestination.replace("" ," ");
mgroup.replace("" ," ");
mfare.replace("" ," ");
job.put("name",mename);
job.put("mobile_no",mmobno);
job.put("pickup_time",mpicktime);
job.put("unit_no",munit);
job.put("street_name",mstreet);
job.put("state",mstate);
job.put("suburb",msuburb);
job.put("city",mcity);
job.put("destination",mdestination);
job.put("group",mgroup);
job.put("fare",mfare);
job.put("latitude",latitude);
job.put("longitude",longitude);
job.put("status_key","2");
job.put("method","send_job");
job.put("login_token",login_token);
StringEntity se = new StringEntity(job.toString());
HttpPost httppost = new HttpPost("http://suntechwebsolutions.com/clients/mobileapp_now/webservice.php");
httppost.setEntity(se);
HttpResponse response = httpclient.execute(httppost);
String data = EntityUtils.toString(response.getEntity());
Log.i("response", data);
System.out.println("response " data);
String call;
call = data;
System.out.println("print me............." call);
JSONObject jo = new JSONObject(data);
Log.d("response", jo.toString(4));
/*JSONObject jobId= jo.getJSONObject("id");
job_id=jobId.getString("id");*/
if(jo.getString("err-code").equals("0"))
{
final AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
alert.setTitle("Alert!!!");
alert.setMessage(jo.getString("message"));
alert.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton)
{
pDialog.dismiss();
dialog.dismiss();
/* Intent intent =new Intent(getActivity(),HandleData.class);
intent.putExtra("pickupsuburb", ssuburb);
intent.putExtra("destination", sdestination);
startActivity(intent);*/
}
});
getActivity().runOnUiThread(new Runnable() {
public void run() {
alert.show();
}
});
}
else
{
final AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
alert.setTitle("Alert !");
alert.setMessage(jo.getString("message"));
alert.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
dialog.dismiss();
}
});
getActivity().runOnUiThread(new Runnable()
{
public void run()
{
pDialog.dismiss();
alert.show();
}
});
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
return params;
}
@Override
protected void onPostExecute(String[] result)
{
super.onPostExecute(result);
}
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
}
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
}
**SendJobDatabase.java**
public class SendJobDataBase
{
private static final String DATABASE_NAME = "SENDJOB.db";
private static final int DATABASE_VERSION = 2;
static final String TABLE_NAME = "jobsend";
private static final String KEY_ID = "id";
private static Context context;
static SQLiteDatabase db;
private final ArrayList<member> user = new ArrayList<member>();
OpenHelper helper;
private SQLiteStatement insertStmt;
//создание строкового значения и вставка этого строкового значения в имя таблицы
private static final String INSERT = "insert into " TABLE_NAME " (mename,mmobno,mpicktime,munit,mstreet,msuburb,mstate,mcity,mdestination,mfare,mgroup) values (?,?,?,?,?,?,?,?,?,?,?)";
// private static final String INSERT = "insert into " TABLE_NAME " (sename,smobno,spicktime,sunit,sstreet,ssuburb,sstate,scity,sdestination,sfare,sgroup) values (?,?,?,?,?,?,?,?,?,?,?)";
protected static final String enternpw = null;
public SendJobDataBase(Context context) {
SendJobDataBase.context = context;
OpenHelper openHelper = new OpenHelper(SendJobDataBase.context);
SendJobDataBase.db = openHelper.getWritableDatabase();
this.insertStmt = SendJobDataBase.db.compileStatement(INSERT);
}
//public long insert(String sename,String smobno,String spicktime,String sunit,String sstreet,String ssuburb,String sstate,String scity,String sdestination,String sfare,String sgroup) {
public long insert(String mename,String mmobno,String mpicktime,String munit,String mstreet,String msuburb,String mstate,String mcity,String mdestination,String mfare,String mgroup) {
this.insertStmt.bindString(1, mename);
this.insertStmt.bindString(2, mmobno);
this.insertStmt.bindString(3, mpicktime);
this.insertStmt.bindString(4, munit);
this.insertStmt.bindString(5, mstreet);
this.insertStmt.bindString(6, msuburb);
this.insertStmt.bindString(7, mstate);
this.insertStmt.bindString(8, mcity);
this.insertStmt.bindString(9, mdestination);
this.insertStmt.bindString(10, mfare);
this.insertStmt.bindString(11, mgroup);
return this.insertStmt.executeInsert();
}
public void deleteAll() {
db.delete(TABLE_NAME, null, null);
}
public List<String[]> selectAll()
{
// создайте функцию и примените действие курсора для выполнения функции
List<String[]> list = new ArrayList<String[]>();
//Cursor cursor = db.query(TABLE_NAME, new String[] { "id","sename","smobno","spicktime","sunit","sstreet","ssuburb","sstate","scity","sdestination","sfare","sgroup" }, null, null, null, null, "sename asc");
Cursor cursor = db.query(TABLE_NAME, new String[] { "id","mename","mmobno","mpicktime","munit","mstreet","msuburb","mstate","mcity","mdestination","mfare","mgroup" }, null, null, null, null, "sename asc");
int x=0;
if (cursor.moveToFirst()) {
do {
String[] b1=new String[]{cursor.getString(0),cursor.getString(1),cursor.getString(2),
cursor.getString(3),cursor.getString(4),cursor.getString(5),
cursor.getString(6),cursor.getString(7),cursor.getString(8),cursor.getString(9),cursor.getString(10),cursor.getString(11)};
list.add(b1);
x=x 1;
} while (cursor.moveToNext());
}
if (cursor != null amp;amp; !cursor.isClosed()) {
cursor.close();
}
cursor.close();
return list;
}
public ArrayList<member> getMembersList() {
ArrayList<member> user = new ArrayList<member>();
String selectQuery = "SELECT * FROM jobsend WHERE ssendjob LIKE '%One%'" ;
Cursor cursor = db.rawQuery(selectQuery,null);
if(cursor != null amp;amp; cursor.getCount() > 0) {
if (cursor.moveToFirst()) {
do {
member contact = new member();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
user.add(contact);
} while (cursor.moveToNext());
}
}
cursor.close();
return user;
}
public ArrayList<member> getMembersList2() {
ArrayList<member> user = new ArrayList<member>();
String selectQuery = "SELECT * FROM jobsend WHERE ssendjob LIKE '%Two%'" ;
Cursor cursor = db.rawQuery(selectQuery,null);
if(cursor != null amp;amp; cursor.getCount() > 0) {
if (cursor.moveToFirst()) {
do {
member contact = new member();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
user.add(contact);
} while (cursor.moveToNext());
}
}
cursor.close();
return user;
}
public void delete(int rowId) {
db.delete(TABLE_NAME, null, null);
}
private static class OpenHelper extends SQLiteOpenHelper {
OpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// db.execSQL("CREATE TABLE " TABLE_NAME " (id INTEGER PRIMARY KEY, sename TEXT, smobno TEXT,spicktime TEXT,spickaddr TEXT, sfair TEXT,ssendjob TEXT)");
db.execSQL("CREATE TABLE " TABLE_NAME " (id INTEGER PRIMARY KEY, mename TEXT, mmobno TEXT,mpicktime TEXT,mpickaddr TEXT, mfair TEXT,msendjob TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL("DROP TABLE IF EXISTS " TABLE_NAME);
onCreate(db);
}
}
public Cursor rawQuery(String selectQuery ,Object object) {
// TODO Auto-generated method stub
return null;
}
public static SendJobDataBase getDBAdapterInstance(FragmentGroups viewPassword) {
// TODO Auto-generated method stub
return null;
}
public Object getenternpw() {
// TODO Auto-generated method stub
return null;
}
public static Cursor getSinlgeEntry() {
// TODO Auto-generated method stub
Cursor cur =db.rawQuery("SELECT * FROM " TABLE_NAME, null);
// colName1 "='" name "'" -> wherclause
System.out.println("Record count are " cur.getCount());
return cur;
}
static public void close() {
// TODO Auto-generated method stub
}
/* public SendJobDataBase open() throws SQLException {
// TODO Auto-generated method stub
db = helper.getWritableDatabase();
return this;
} */
public SendJobDataBase getWritableDatabase() {
// TODO Auto-generated method stub
return null;
}
public void Delete_Contact(int id) {
SQLiteDatabase db = helper.getWritableDatabase();
db.delete(TABLE_NAME, KEY_ID " = ?",
new String[] { String.valueOf(id) });
db.close();
}
public ArrayList<member> Get_Contacts() {
try {
user.clear();
// Select All Query
String selectQuery = "SELECT * FROM jobsend";
SQLiteDatabase db = helper.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
member contact = new member();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
// contact.setPhoneNumber(cursor.getString(2));
// contact.setEmail(cursor.getString(3));
// Adding contact to list
user.add(contact);
} while (cursor.moveToNext());
}
// return contact list
cursor.close();
db.close();
return user;
} catch (Exception e) {
// TODO: handle exception
Log.e("all_contact", "" e);
}
return user;
}
}
Комментарии:
1. что отображается в logcat .. вы видели какую-либо ошибку при создании таблицы..
2. нет, ошибки нет ……. но БД не создана для отправки задания
3. Покажите свой полный класс DBHelper
Ответ №1:
implementation 'com.intuit.sdp:sdp-android:1.0.4'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.android.support:recyclerview-v7:28.0.0'
activity_main.xml
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:id="@ id/recyclerviiew_main"
android:layout_height="match_parent"/>
raw_innerview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:paddingLeft="1dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:orientation="horizontal"
android:layout_height="wrap_content">
<TextView
android:background="@color/colorAccent"
android:id="@ id/txt_Title"
android:layout_width="@dimen/_100sdp"
android:gravity="center"
android:layout_height="@dimen/_100sdp"
android:layout_marginTop="4dp"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
tools:text="More" />
</LinearLayout>
</LinearLayout>
raw_mailn_view.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:paddingLeft="1dp"
android:orientation="vertical"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content">
<TextView
android:id="@ id/txt_Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
tools:text="Name" />
<TextView
android:id="@ id/txt_Title1"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="right"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
tools:text="More" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:id="@ id/recyclerview_inner"
android:layout_height="match_parent"/>
</LinearLayout>
MainActivity.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.widget.Toast;
import com.app.playstorerecyclerviewdemo.model.InnerData;
import com.app.playstorerecyclerviewdemo.model.MainResponse;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity
{
List arry_favorite =new ArrayList();
List arry_song =new ArrayList();
List arry_mostview=new ArrayList();
List arry_name =new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
arry_favorite.add("1");
arry_favorite.add("2");
arry_favorite.add("3");
arry_favorite.add("4");
arry_song.add("1");
arry_song.add("2");
arry_song.add("3");
arry_song.add("4");
arry_song.add("5");
arry_song.add("6");
arry_song.add("7");
arry_mostview.add("1");
arry_mostview.add("5");
arry_mostview.add("6");
arry_name.add("Songs");
arry_name.add("Mostviews");
arry_name.add("Favourits");
InnerData datum=new InnerData();
MainResponse example=new MainResponse();
example.setStatus("true");
example.setMessage("Data is Display");
datum.setName("Title");
datum.setStatusMore("More");
datum.setFavorites(arry_favorite);
datum.setSongs(arry_song);
datum.setMostviewes(arry_mostview);
example.setData(datum);
Log.e("JSONS",new Gson().toJson(datum.toString()));
if(example.getStatus().equalsIgnoreCase("true"))
{
RecyclerView recyclerview=findViewById(R.id.recyclerviiew_main);
Toast.makeText(this, example.getMessage(), Toast.LENGTH_SHORT).show();
MainViewAdapter adapter = new MainViewAdapter(MainActivity.this, datum);
LinearLayoutManager gridLayoutManager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
recyclerview.setLayoutManager(gridLayoutManager);
recyclerview.setAdapter(adapter);
}
else {
Toast.makeText(this, example.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}
MainViewAdapter.java
import android.content.Context;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.app.playstorerecyclerviewdemo.model.InnerData;
public class MainViewAdapter extends RecyclerView.Adapter<MainViewAdapter.ViewHolder> {
public Context context;
public InnerData arraylist;
public MainViewAdapter(MainActivity listdata, InnerData arraylist)
{
this.context = listdata;
this.arraylist = arraylist;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View listItem = layoutInflater.inflate(R.layout.raw_mailn_view, parent, false);
ViewHolder viewHolder = new ViewHolder(listItem);
return viewHolder;
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position)
{
if(arraylist.getName() !=null)
{
holder.txt_Title.setText(arraylist.getName());
}
if(arraylist.getStatusMore() !=null)
{
holder.txt_Title1.setText(arraylist.getStatusMore());
}
InnerViewAdapter adapter = new InnerViewAdapter((MainActivity) context, arraylist);
LinearLayoutManager gridLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
holder.recyclerview_inner.setLayoutManager(gridLayoutManager);
holder.recyclerview_inner.setAdapter(adapter);
}
@Override
public int getItemCount() {
return 10;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
TextView txt_Title,txt_Title1;
RecyclerView recyclerview_inner;
public ViewHolder(View itemView) {
super(itemView);
txt_Title = itemView.findViewById(R.id.txt_Title);
txt_Title1 = itemView.findViewById(R.id.txt_Title1);
recyclerview_inner=itemView.findViewById(R.id.recyclerview_inner);
}
}
}
InnerViewAdapter.java
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.app.playstorerecyclerviewdemo.model.InnerData;
class InnerViewAdapter extends RecyclerView.Adapter<InnerViewAdapter.ViewHolder>
{
public Context context;
public InnerData arraylist;
public InnerViewAdapter(MainActivity listdata, InnerData arraylist)
{
this.context = listdata;
this.arraylist = arraylist;
}
@Override
public InnerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View listItem = layoutInflater.inflate(R.layout.raw_innerview, parent, false);
InnerViewAdapter.ViewHolder viewHolder = new InnerViewAdapter.ViewHolder(listItem);
return viewHolder;
}
@Override
public void onBindViewHolder(final InnerViewAdapter.ViewHolder holder, final int position)
{
if(arraylist.getSongs() !=null)
{
holder.txt_Title.setText(arraylist.getName());
holder.txt_Title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "" position, Toast.LENGTH_SHORT).show();
}
});
}
}
@Override
public int getItemCount() {
return 3;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
TextView txt_Title;
public ViewHolder(View itemView) {
super(itemView);
txt_Title = itemView.findViewById(R.id.txt_Title);
}
}
}
MainResponse.java
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class MainResponse {
@SerializedName("status")
@Expose
private String status;
@SerializedName("message")
@Expose
private String message;
@SerializedName("data")
@Expose
public InnerData data = null;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public InnerData getData() {
return data;
}
public void setData(InnerData data) {
this.data = data;
}
}
InnerData.java
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class InnerData {
@SerializedName("name")
@Expose
private String name;
@SerializedName("status_more")
@Expose
private String statusMore;
@SerializedName("songs")
@Expose
private List<Integer> songs = null;
@SerializedName("favorites")
@Expose
private List<Integer> favorites = null;
@SerializedName("mostviewes")
@Expose
private List<Integer> mostviewes = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStatusMore() {
return statusMore;
}
public void setStatusMore(String statusMore) {
this.statusMore = statusMore;
}
public List<Integer> getSongs() {
return songs;
}
public void setSongs(List<Integer> songs) {
this.songs = songs;
}
public List<Integer> getFavorites() {
return favorites;
}
public void setFavorites(List<Integer> favorites) {
this.favorites = favorites;
}
public List<Integer> getMostviewes() {
return mostviewes;
}
public void setMostviewes(List<Integer> mostviewes) {
this.mostviewes = mostviewes;
}
}
Utility.scheduleJob(this, startLatitude, startLongitude, latitude, longitude);
@SuppressLint("NewApi")
@RequiresApi(api = Build.VERSION_CODES.M)
public static void scheduleJob(Context context, double startLatitude, double startLongitude, double latitude, Double longitude) {
ComponentName serviceComponent = new ComponentName(context, CalculateKmService.class);
JobInfo.Builder builder = new JobInfo.Builder(0, serviceComponent);
builder.setMinimumLatency(10 * 1000); // wait at least 10 sec
builder.setOverrideDeadline(5 * 1000); // maximum delay
//builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED); // require unmetered network
//builder.setRequiresDeviceIdle(true); // device should be idle
//builder.setRequiresCharging(false); // we don't care if the device is charging or not
jobScheduler = (JobScheduler) getContext().getSystemService(JobScheduler.class);
jobScheduler.schedule(builder.build());
Log.d("TAG", "scheduleJob:....... " startLatitude "....." latitude);
Log.d("TAG", "scheduleJob:.......... " startLongitude "....." longitude);
// startLatitude=23.072018;
// startLongitude=72.542134;
try {
// GoogleMatrixRequest.calculateKm(context, startLatitude, startLongitude, latitude, longitude);
if(FastSave.getInstance().getString(Constant.END_LAT_1).equals(""))
{
try
{
Log.d("TAG", "scheduleJob: from start");
GoogleMatrixRequest.calculateKm(context, startLatitude, startLongitude, latitude, longitude);
} catch (Exception e) {
e.printStackTrace();
}
}else{
double last_lat = Double.parseDouble(FastSave.getInstance().getString(Constant.END_LAT_1));
double last_lon = Double.parseDouble(FastSave.getInstance().getString(Constant.END_LON_1));
try {
Log.d("TAG", "scheduleJob: from next" last_lat "..." last_lon "///to.." latitude "..." longitude);
GoogleMatrixRequest.calculateKm(context, last_lat, last_lon, latitude, longitude);
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
Utility.stopScheduleJob(this);
public static void stopScheduleJob(Context context) {
// Toast.makeText(context, "cancel job", Toast.LENGTH_SHORT).show();
if (jobScheduler != null)
{
jobScheduler.cancelAll();
FastSave.getInstance().saveString(Constant.END_LAT_1, "");
FastSave.getInstance().saveString(Constant.END_LON_1, "");
}
}
public class CalculateKmService extends JobService {
@Override
public boolean onStartJob(JobParameters jobParameters) {
// Toast.makeText(this, "schecdule", Toast.LENGTH_SHORT).show();
Log.d("TAG", "onStartJob: working");
Utility.scheduleJob(getBaseContext(), DashboardActivity.startLatitude,DashboardActivity.startLongitude,DashboardActivity.latitude,DashboardActivity.longitude);
return false;
}
@Override
public boolean onStopJob(JobParameters jobParameters) {
Utility.stopScheduleJob(getBaseContext());
return false;
}
}
public static MultipartBody.Part prepareFilePart(Context context, String partName, String filePath) {
if(filePath!=null) {
File file = new File(filePath);
Log.d("TAG", "prepareFilePart: " filePath);
// RequestBody requestBody = RequestBody.create(MediaType.parse(getContentResolver().getType(Uri.fromFile(file))), file);
// Libaray Required
RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file);
// Multipart Camera and Gallery
// RequestBody requestBody = RequestBody.create(MediaType.parse(context.getContentResolver().getType(FileProvider.getUriForFile(context, "com.sine.provider", file))), file);
return MultipartBody.Part.createFormData(partName, file.getName(), requestBody);
}
else {
return MultipartBody.Part.createFormData(partName,"");
}
}
@Multipart
@POST("add")
Call<AddResponse> doAdd(@Header("Authorization") String token, @Part List<MultipartBody.Part> files, @PartMap Map<String, RequestBody> map);
ArrayList<MultipartBody.Part> multipart = new ArrayList<>();
Map<String, RequestBody> map = new HashMap<>();
map.put("document_type", RequestBody.create(MediaType.parse("text/plain"), "insurance"));
multipart.add(Utility.prepareFilePart(InsurenceActivity.this, "document_file", picturePath));