Advertisement
Guest User

Untitled

a guest
Jul 21st, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.65 KB | None | 0 0
  1. private int codigo;
  2. private String nomeUsuario;
  3. private String idadeUsuario;
  4. private String pesoUsuario;
  5. private String alturaUsuario;
  6. private String sexoUsuario;
  7.  
  8. Construtor_Perfil_Usuario(){}
  9.  
  10. Construtor_Perfil_Usuario(String nomeUsuario, String idadeUsuario, String pesoUsuario,
  11. String alturaUsuario, String sexoUsuario) {
  12. this.nomeUsuario = nomeUsuario;
  13. this.idadeUsuario = idadeUsuario;
  14. this.pesoUsuario = pesoUsuario;
  15. this.alturaUsuario = alturaUsuario;
  16. this.sexoUsuario = sexoUsuario;
  17. }
  18.  
  19. public int getCodigo() {
  20. return codigo;
  21. }
  22.  
  23. public void setCodigo(int codigo) {
  24. this.codigo = codigo;
  25. }
  26.  
  27. public String getNomeUsuario() {
  28. return nomeUsuario;
  29. }
  30.  
  31. public void setNomeUsuario(String nomeUsuario) {
  32. this.nomeUsuario = nomeUsuario;
  33. }
  34.  
  35. public String getIdadeUsuario() {
  36. return idadeUsuario;
  37. }
  38.  
  39. public void setIdadeUsuario(String idadeUsuario) {
  40. this.idadeUsuario = idadeUsuario;
  41. }
  42.  
  43. public String getSexoUsuario() {
  44. return sexoUsuario;
  45. }
  46.  
  47. public void setSexoUsuario(String sexoUsuario) {
  48. this.sexoUsuario = sexoUsuario;
  49. }
  50.  
  51. public String getPesoUsuario() {
  52. return pesoUsuario;
  53. }
  54.  
  55. public void setPesoUsuario(String pesoUsuario) {
  56. this.pesoUsuario = pesoUsuario;
  57. }
  58.  
  59. public String getAlturaUsuario() {
  60. return alturaUsuario;
  61. }
  62.  
  63. public void setAlturaUsuario(String alturaUsuario) {
  64. this.alturaUsuario = alturaUsuario;
  65. }
  66.  
  67. private int codigo;
  68. private String nomeMedicamento;
  69. private String statusMedicamento;
  70.  
  71.  
  72. Construtor_Medicamentos(){}
  73.  
  74. public Construtor_Medicamentos(String nomeMedicamento, String statusMedicamento) {
  75. this.nomeMedicamento = nomeMedicamento;
  76. this.statusMedicamento = statusMedicamento;
  77. }
  78.  
  79. void setCodigo(int codigo) {
  80. this.codigo = codigo;
  81. }
  82.  
  83. String getNomeMedicamento() {
  84. return nomeMedicamento;
  85. }
  86.  
  87. void setNomeMedicamento(String nomeMedicamento) {
  88. this.nomeMedicamento = nomeMedicamento;
  89. }
  90.  
  91. public String getStatusMedicamento() {
  92. return statusMedicamento;
  93. }
  94.  
  95. public void setStatusMedicamento(String statusMedicamento) {
  96. this.statusMedicamento = statusMedicamento;
  97. }
  98.  
  99. private static final int VERSAO_DO_BANCO = 1;
  100. private static final String NOME_DO_BANCO = "db.Database";
  101.  
  102. private static final String TABELA_USUARIOS = "usuario";
  103. private static final String COLUNA_CODIGO_USERS = "codigo";
  104. private static final String COLUNA_NOME = "nome";
  105. private static final String COLUNA_IDADE = "idade";
  106. private static final String COLUNA_PESO = "peso";
  107. private static final String COLUNA_ALTURA = "altura";
  108. private static final String COLUNA_SEXO = "sexo";
  109.  
  110. private static final String COLUNA_CODIGO_MEDICAMENTO = "codigo";
  111. private static final String COLUNA_NOME_MEDICAMENTO = "nome";
  112. private static final String COLUNA_STATUS_MEDICAMENTO = "status";
  113.  
  114. SQLiteOpenHelper_DataBase(Context context) {
  115. super(context, NOME_DO_BANCO, null, VERSAO_DO_BANCO);
  116. }
  117.  
  118. @Override
  119. public void onCreate(SQLiteDatabase db) {
  120.  
  121. String QUERY_USUARIOS = " CREATE TABLE " + TABELA_USUARIOS + "("
  122. + COLUNA_CODIGO_USERS + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUNA_NOME + " TEXT, "
  123. + COLUNA_IDADE + " TEXT, " + COLUNA_PESO + " TEXT, " + COLUNA_ALTURA + " TEXT, "
  124. + COLUNA_SEXO + " TEXT)";
  125. db.execSQL(QUERY_USUARIOS);
  126.  
  127. }
  128.  
  129. @Override
  130. public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
  131.  
  132. }
  133.  
  134. private void createTable(String TABLE){
  135.  
  136. SQLiteDatabase db = this.getWritableDatabase();
  137.  
  138. String QUERY_MEDICAMENTOS = " CREATE TABLE IF NOT EXISTS " + TABLE + "("
  139. + COLUNA_CODIGO_MEDICAMENTO + " INTEGER PRIMARY KEY AUTOINCREMENT, "
  140. + COLUNA_NOME_MEDICAMENTO + " TEXT " + COLUNA_STATUS_MEDICAMENTO + " TEXT)";
  141. db.execSQL(QUERY_MEDICAMENTOS);
  142. }
  143.  
  144. void adicionarUsuario(Construtor_Perfil_Usuario usuario){
  145.  
  146. createTable(usuario.getNomeUsuario());
  147.  
  148. SQLiteDatabase db = this.getWritableDatabase();
  149.  
  150. ContentValues user = new ContentValues();
  151.  
  152. user.put(COLUNA_NOME,usuario.getNomeUsuario());
  153. user.put(COLUNA_IDADE,usuario.getIdadeUsuario());
  154. user.put(COLUNA_PESO,usuario.getPesoUsuario());
  155. user.put(COLUNA_ALTURA,usuario.getAlturaUsuario());
  156. user.put(COLUNA_SEXO,usuario.getSexoUsuario());
  157.  
  158. db.insert(TABELA_USUARIOS,null,user);
  159.  
  160. db.close();
  161. }
  162.  
  163. void adicionarMedicamento(Construtor_Medicamentos medicines, String TABLE){
  164.  
  165. SQLiteDatabase db = this.getWritableDatabase();
  166.  
  167. ContentValues remedios = new ContentValues();
  168.  
  169. remedios.put(COLUNA_NOME_MEDICAMENTO,medicines.getNomeMedicamento());
  170. remedios.put(COLUNA_STATUS_MEDICAMENTO,medicines.getStatusMedicamento());
  171.  
  172. db.insert(TABLE,null,remedios);
  173.  
  174. db.close();
  175. }
  176.  
  177. List<Construtor_Perfil_Usuario> listarUsuarios(){
  178.  
  179. List<Construtor_Perfil_Usuario> listaUsuarios = new ArrayList<>();
  180.  
  181. String query = "SELECT * FROM " + TABELA_USUARIOS;
  182.  
  183. SQLiteDatabase db = this.getWritableDatabase();
  184.  
  185. Cursor cursor = db.rawQuery(query,null);
  186.  
  187. if(cursor.moveToFirst()){
  188.  
  189. do {
  190. Construtor_Perfil_Usuario usuario = new Construtor_Perfil_Usuario();
  191. usuario.setCodigo(Integer.parseInt(cursor.getString(0)));
  192. usuario.setNomeUsuario(cursor.getString(1));
  193. usuario.setIdadeUsuario(cursor.getString(2));
  194. usuario.setPesoUsuario(cursor.getString(3));
  195. usuario.setAlturaUsuario(cursor.getString(4));
  196. usuario.setSexoUsuario(cursor.getString(5));
  197.  
  198. listaUsuarios.add(usuario);
  199.  
  200. }while (cursor.moveToNext());
  201. }
  202.  
  203. return listaUsuarios;
  204. }
  205.  
  206. List<Construtor_Medicamentos> listarMedicamentos(String TABLE){
  207.  
  208. List<Construtor_Medicamentos> listaMedicamentos = new ArrayList<>();
  209.  
  210. String query = "SELECT * FROM " + TABLE;
  211.  
  212. SQLiteDatabase db = this.getWritableDatabase();
  213.  
  214. Cursor cursor = db.rawQuery(query,null);
  215.  
  216. if(cursor.moveToFirst()){
  217.  
  218. do {
  219. Construtor_Medicamentos medicamentos = new Construtor_Medicamentos();
  220. medicamentos.setCodigo(Integer.parseInt(cursor.getString(0)));
  221. medicamentos.setNomeMedicamento(cursor.getString(1));
  222. medicamentos.setStatusMedicamento(cursor.getString(2));
  223.  
  224. listaMedicamentos.add(medicamentos);
  225.  
  226. }while (cursor.moveToNext());
  227. }
  228.  
  229. return listaMedicamentos;
  230. }
  231.  
  232.  
  233. /*
  234. public void deleteAll() {
  235.  
  236. SQLiteDatabase db = this.getWritableDatabase();
  237.  
  238. String where = COLUNA_CODIGO_USERS + " IS NOT NULL ";
  239.  
  240. db.delete(TABELA_USUARIOS, where, null);
  241.  
  242. db.close();
  243. }
  244.  
  245. public void remProduto(String codProd){
  246.  
  247. SQLiteDatabase db = this.getWritableDatabase();
  248.  
  249. String Prod = COLUNA_PESO + " = '" + codProd + "'";
  250.  
  251. db.delete(TABELA_USUARIOS,Prod,null);
  252.  
  253. db.close();
  254.  
  255. Construtor_Carrinho_de_Compras CCC = new Construtor_Carrinho_de_Compras();
  256.  
  257. CCC.removeVariaveis(codProd);
  258. }
  259.  
  260. public void altQtdProduto(String produto, int updateQtd){
  261.  
  262. SQLiteDatabase db = this.getWritableDatabase();
  263.  
  264. String where = COLUNA_PESO + " = '" + produto + "'";
  265.  
  266. ContentValues contentValues = new ContentValues();
  267. contentValues.put(COLUNA_NOME,updateQtd);
  268. db.update(TABELA_USUARIOS,contentValues,where,null);
  269. db.close();
  270.  
  271. Construtor_Perfil_Usuario CCC = new Construtor_Perfil_Usuario();
  272. //CCC.altQtdProduto(produto,updateQtd);
  273.  
  274. }
  275. */
  276.  
  277. private List<Construtor_Perfil_Usuario> modelList;
  278. private HashMap<Construtor_Perfil_Usuario,List<Construtor_Medicamentos>> listHashMap;
  279. private Context context;
  280.  
  281. ExpandableListAdapter(Context context, List<Construtor_Perfil_Usuario> modelList, HashMap<Construtor_Perfil_Usuario, List<Construtor_Medicamentos>> listHashMap) {
  282.  
  283. this.modelList = modelList;
  284. this.listHashMap = listHashMap;
  285. this.context = context;
  286. }
  287.  
  288. @Override
  289. public int getGroupCount() {
  290. return modelList.size();
  291. }
  292.  
  293. @RequiresApi(api = Build.VERSION_CODES.KITKAT)
  294. @Override
  295. public int getChildrenCount(int i) {
  296. return Objects.requireNonNull(listHashMap.get(modelList.get(i))).size();
  297. }
  298.  
  299. @Override
  300. public Object getGroup(int i) {
  301. return modelList.get(i);
  302. }
  303.  
  304. @RequiresApi(api = Build.VERSION_CODES.KITKAT)
  305. @Override
  306. public Object getChild(int i, int i1) {
  307. return Objects.requireNonNull(listHashMap.get(modelList.get(i))).get(i1);
  308. }
  309.  
  310. @Override
  311. public long getGroupId(int i) {
  312. return i;
  313. }
  314.  
  315. @Override
  316. public long getChildId(int i, int i1) {
  317. return i1;
  318. }
  319.  
  320. @Override
  321. public boolean hasStableIds() {
  322. return false;
  323. }
  324.  
  325. @RequiresApi(api = Build.VERSION_CODES.KITKAT)
  326. @SuppressLint("InflateParams")
  327. @Override
  328. public View getGroupView(int groupPosition, boolean b, View convertView, ViewGroup viewGroup) {
  329.  
  330. String string = modelList.get(groupPosition).getNomeUsuario();
  331.  
  332. if(convertView == null){
  333. LayoutInflater inflater = (LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  334. convertView = Objects.requireNonNull(inflater).inflate(R.layout.list_group,null); }
  335.  
  336. TextView textView = convertView.findViewById(R.id.lblListHeader);
  337. textView.setText(string);
  338.  
  339. /*TextView textInfo = convertView.findViewById(R.id.textViewInfo);
  340. if (modelList.get(groupPosition).getSexoUsuario().contains("Feminino")){
  341. textInfo.setBackgroundResource(R.drawable.shape_oval_pink);
  342. }else{
  343. textInfo.setBackgroundResource(R.drawable.shape_oval_blue);
  344. }
  345.  
  346. try {
  347. String subString = string.substring(0, 1);
  348. textInfo.setText(subString);
  349. }catch (Exception e){
  350. e.printStackTrace();
  351. }*/
  352.  
  353. return convertView;
  354. }
  355.  
  356. @RequiresApi(api = Build.VERSION_CODES.KITKAT)
  357. @SuppressLint("InflateParams")
  358. @Override
  359. public View getChildView(int groupPosition, int childPosition, boolean b, View convertView, ViewGroup viewGroup) {
  360.  
  361. String string = listHashMap.get(modelList.get(groupPosition)).get(childPosition).getNomeMedicamento();
  362.  
  363. if(convertView == null){
  364.  
  365. LayoutInflater inflater = (LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  366. convertView = inflater.inflate(R.layout.list_item,null); }
  367.  
  368. TextView textView = convertView.findViewById(R.id.lblListItem);
  369. textView.setText(string);
  370. return convertView;
  371. }
  372.  
  373. @Override
  374. public boolean isChildSelectable(int i, int i1) {
  375. return true;
  376. }
  377.  
  378. private ExpandableListView listView;
  379. private ExpandableListAdapter listAdapter;
  380. private List<Construtor_Perfil_Usuario> listUsuarios;
  381. private HashMap<Construtor_Perfil_Usuario,List<Construtor_Medicamentos>> hashMap;
  382.  
  383.  
  384.  
  385. SQLiteOpenHelper_DataBase SQLOP;
  386.  
  387. @Override
  388. protected void onCreate(Bundle savedInstanceState) {
  389. super.onCreate(savedInstanceState);
  390. setContentView(R.layout.activity_main);
  391.  
  392. SQLOP = new SQLiteOpenHelper_DataBase(this);
  393.  
  394. SQLOP.adicionarUsuario(new Construtor_Perfil_Usuario("ANDRE"
  395. ,"26 ANOS","65 kg",
  396. "1,85 m","Masculino"));
  397.  
  398. SQLOP.adicionarUsuario(new Construtor_Perfil_Usuario("LUCAS"
  399. ,"20 ANOS","70 kg",
  400. "1,85 m","Masculino"));
  401.  
  402. SQLOP.adicionarUsuario(new Construtor_Perfil_Usuario("ELIANE"
  403. ,"45 ANOS","53 kg",
  404. "1,65 m","Feminino"));
  405.  
  406. SQLOP.adicionarMedicamento(new Construtor_Medicamentos("Luftal gotas","Ativo"),"ANDRE");
  407. SQLOP.adicionarMedicamento(new Construtor_Medicamentos("Luftal comprimido","Ativo"),"ANDRE");
  408. SQLOP.adicionarMedicamento(new Construtor_Medicamentos("Luftal cápsulas","Ativo"),"ANDRE");
  409.  
  410. SQLOP.adicionarMedicamento(new Construtor_Medicamentos("Dipirona gotas","Ativo"),"LUCAS");
  411. SQLOP.adicionarMedicamento(new Construtor_Medicamentos("Dipirona comprimido","Ativo"),"LUCAS");
  412.  
  413. SQLOP.adicionarMedicamento(new Construtor_Medicamentos("Resfenol gotas","Ativo"),"ELIANE");
  414. SQLOP.adicionarMedicamento(new Construtor_Medicamentos("Resfenol xarope","Ativo"),"ELIANE");
  415. SQLOP.adicionarMedicamento(new Construtor_Medicamentos("Resfenol cápsulas","Ativo"),"ELIANE");
  416.  
  417.  
  418. listView = findViewById(R.id.listView);
  419. try {
  420. listView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
  421. @Override
  422. public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
  423. return listView.isGroupExpanded(groupPosition) ? listView.collapseGroup(groupPosition) : listView.expandGroup(groupPosition);
  424. }
  425. });
  426. }catch (Exception e ){
  427. //Meu PC é 32 bits com pouca RAM, então a única maneira de eu testar erros é dessa forma através de TOASTS
  428. //Eu gero arquivos Apks e instalo no telefone de API 16, upando no google drive e aixando no própio dispositivo, pois não tenho cabo USB kkkkk
  429. Toast.makeText(getBaseContext(),"ERRO",Toast.LENGTH_LONG).show();
  430. e.printStackTrace();
  431. }
  432. initData();
  433. listAdapter = new ExpandableListAdapter(this, listUsuarios, hashMap);
  434. listView.setAdapter(listAdapter);
  435.  
  436. }
  437.  
  438. private void initData() {
  439.  
  440. listUsuarios = new ArrayList<>();
  441. hashMap = new HashMap<>();
  442.  
  443. List<Construtor_Perfil_Usuario> usuarios = SQLOP.listarUsuarios();
  444.  
  445. for (int i = 0; i < usuarios.size() ; i ++){
  446.  
  447. List<Construtor_Medicamentos> listMedicamentos = new ArrayList<>();
  448.  
  449. Construtor_Perfil_Usuario CPU = new Construtor_Perfil_Usuario(usuarios.get(i).getNomeUsuario(), usuarios.get(i).getIdadeUsuario()
  450. ,usuarios.get(i).getPesoUsuario(),usuarios.get(i).getAlturaUsuario(),usuarios.get(i).getSexoUsuario());
  451.  
  452.  
  453. List<Construtor_Medicamentos> medicamentos = SQLOP.listarMedicamentos(usuarios.get(i).getNomeUsuario());
  454.  
  455. for (int e = 0; e < medicamentos.size(); e++) {
  456.  
  457. Construtor_Medicamentos CM = new Construtor_Medicamentos(medicamentos.get(e).getNomeMedicamento(),
  458. medicamentos.get(e).getStatusMedicamento());
  459.  
  460. listMedicamentos.add(CM);
  461.  
  462. }
  463.  
  464. listUsuarios.add(CPU);
  465.  
  466. //Eu não creio que o erro esteja nesses loops for.
  467. hashMap.put(listUsuarios.get(i),listMedicamentos);
  468. }
  469.  
  470. }
  471.  
  472. <TextView
  473. android:id="@+id/lblListHeader"
  474. android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
  475. android:textSize="16sp"
  476. android:textColor="@android:color/white"
  477. android:layout_width="match_parent"
  478. android:layout_height="wrap_content" />
  479.  
  480. <TextView
  481. android:id="@+id/lblListItem"
  482. android:textSize="16sp"
  483. android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft"
  484. android:paddingTop="5dp"
  485. android:paddingBottom="5dp"
  486. android:layout_width="match_parent"
  487. android:layout_height="wrap_content" />
  488.  
  489. 2 is from index: 0
  490. 5 is from index: 1
  491.  
  492. public class MyClass {
  493. public static void main(String args[]) {
  494. int[] abc = {2,5};
  495. for (int i = 0;i<abc.length;i++) {
  496. int value = abc[i];
  497. System.out.println(value+" is from index: "+i);
  498. }
  499. }
  500. }
  501.  
  502. 2 is from index: 0
  503. 5 is from index: 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement