1-) Android RMOS - basit recyclerview kullanımı
1-) Android RMOS - masaModel.java
package com.webpos.ramazan.rmos.rmosbarpos.Masa;
public class masaModel {
private Integer kATId;
private String kATAdi;
public Integer getKATId() {
return kATId;
}
public void setKATId(Integer kATId) {
this.kATId = kATId;
}
public String getKATAdi() {
return kATAdi;
}
public void setKATAdi(String kATAdi) {
this.kATAdi = kATAdi;
}
}
2-) masaAdapter.java
package com.webpos.ramazan.rmos.rmosbarpos.Masa;
import android.content.Context;
import android.graphics.Color;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
import com.webpos.ramazan.rmos.rmosbarpos.R;
import java.util.List;
public class masaAdapter extends RecyclerView.Adapter<masaAdapter.RecyclerAdapterIcteki> {
private List<masaModel> modelList;
private Context context;
public class RecyclerAdapterIcteki extends RecyclerView.ViewHolder {
public Button btnMasa;
public RecyclerAdapterIcteki(View view) {
super(view);
btnMasa = (Button) view.findViewById(R.id.btnMasa);
btnMasa.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "" + btnMasa.getText(), Toast.LENGTH_SHORT).show();
}
});
}
}
public masaAdapter(Context context, List<masaModel> modelList) {
this.context = context;
this.modelList = modelList;
}
@Override
public RecyclerAdapterIcteki onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.masa_item, parent, false);
return new RecyclerAdapterIcteki(itemView);
}
@Override
public void onBindViewHolder(@NonNull masaAdapter.RecyclerAdapterIcteki holder, int position) {
masaModel movie = modelList.get(position);
holder.btnMasa.setTag(movie.getKATId());
holder.btnMasa.setText(movie.getKATAdi());
holder.btnMasa.setBackgroundColor(Color.BLUE);
holder.btnMasa.setTextColor(Color.WHITE);
}
@Override
public int getItemCount() {
return modelList.size();
}
}
3-) Ayarlar.java
package com.webpos.ramazan.rmos.rmosbarpos;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class Ayarlar extends AppCompatActivity {
EditText txtWebApi,txtMasaSutunSayisi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ayarlar);
txtWebApi = (EditText) findViewById(R.id.txtWebApi);
txtMasaSutunSayisi = (EditText) findViewById(R.id.txtMasaSutunSayisi);
preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
IPv4 = preferences.getString("IPv4", IPv4);
txtWebApi.setText(IPv4);
SutunSayisi = preferences.getInt("SutunSayisi", SutunSayisi);
txtMasaSutunSayisi.setText(SutunSayisi+"");
}
public void OnClicks(View v) {
switch (v.getId()) {
case R.id.btnKaydet:
MyKaydet();
Toast.makeText(getApplicationContext(), "Kayıt Edildi.", Toast.LENGTH_SHORT).show();
break;
}
}
public static SharedPreferences preferences;
public static String IPv4="http://192.168.1.120:9000/";
public static int SutunSayisi=4;
public void MyKaydet() {
try {
IPv4 = txtWebApi.getText() + "";
SharedPreferences.Editor editor = preferences.edit();
editor.putString("IPv4", IPv4);
editor.commit();
SutunSayisi =Integer.parseInt(txtMasaSutunSayisi.getText().toString());
editor.putInt("SutunSayisi", SutunSayisi);
editor.commit();
} catch (Exception ex) {
Toast.makeText(this, "HATA! " + ex.getMessage(), Toast.LENGTH_LONG).show();
}
}
}
4-) MainActivity.java
package com.webpos.ramazan.rmos.rmosbarpos;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import com.webpos.ramazan.rmos.rmosbarpos.Masa.masaAdapter;
import com.webpos.ramazan.rmos.rmosbarpos.Masa.masaModel;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyGetPreferences();
MyMasaGetir();
}
public void MyGetPreferences(){
Ayarlar.preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String IPv4 = Ayarlar.preferences.getString("IPv4", "");
Toast.makeText(this, "" + IPv4, Toast.LENGTH_SHORT).show();
SPAN_COUNT= Ayarlar.preferences.getInt("SutunSayisi", 4);
}
private RecyclerView recyclerView;
private masaAdapter itemAdapter;
private ArrayList<masaModel> uyeList;
RecyclerView.LayoutManager mLayoutManager;
private static int SPAN_COUNT = 4;
public void MyMasaGetir() {
uyeList = new ArrayList<>();
listeyiDoldur(uyeList);
recyclerView = (RecyclerView) findViewById(R.id.RecylerView1);
itemAdapter = new masaAdapter(getApplicationContext(), uyeList);
// mLayoutManager = new LinearLayoutManager(getApplicationContext());
mLayoutManager = new GridLayoutManager(getApplicationContext(), SPAN_COUNT);
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(itemAdapter);
}
private void listeyiDoldur(ArrayList<masaModel> uyeList) {
for (int i = 0; i < 50; i++) {
masaModel m1 = new masaModel();
m1.setKATAdi("MASA " + i);
m1.setKATId(i);
uyeList.add(m1);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.ayarlar, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.ayarlar) {
Toast.makeText(this, "Ayarlar", Toast.LENGTH_SHORT).show();
Intent ayarlar = new Intent(MainActivity.this, Ayarlar.class);
startActivity(ayarlar);
return true;
}
return super.onOptionsItemSelected(item);
}
}
5-) activiyt_ayarlar.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:layout_height="match_parent"
tools:context=".Ayarlar">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:layout_marginRight="20dp"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
android:id="@+id/txtLayoutWebApi"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/txtWebApi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Web API Adres"
android:inputType="text"
android:text="http://192.168.1.120:9000/" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/txtLayoutWebApi"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/txtMasaSutunSayisi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Masa Sütün Sayısı"
android:inputType="text"
android:text="4" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/btnKaydet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:background="#39C408"
android:onClick="OnClicks"
android:text="KAYDET"
android:textColor="#FFFFFF" />
</LinearLayout>
</RelativeLayout>
6-) activiyt_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/linearRecycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/RecylerView1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</RelativeLayout>
7-) masa_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/linearMasa"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<Button
android:id="@+id/btnMasa"
android:layout_width="wrap_content"
android:layout_height="82dp"
android:layout_marginLeft="3dp"
android:layout_marginTop="3dp"
android:layout_marginRight="3dp"
android:layout_weight="1"
android:text="Button2" />
</LinearLayout>
</RelativeLayout>
8-) menu-> ayarlar.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:RmosBarPos="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/ayarlar"
android:icon="@drawable/ayarlar"
RmosBarPos:showAsAction="ifRoom" />
</menu>