JavascriptProva

lunedì 29 febbraio 2016

Ricostruendo l'applicazione persa

Bene.
Ho salvato la mia Main Activity.
Ecco il codice xml recuperato.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/superLayout"
    android:background="@drawable/w3"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >
   <ImageView
            android:id="@+id/leftTop"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="0dp"
            android:src="@drawable/screwed" />
   <ImageView
            android:id="@+id/rightTop"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="0dp"
            android:layout_marginTop="0dp"
            android:src="@drawable/screwed" />
   <ImageView
            android:id="@+id/leftBottom"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true"
            android:layout_marginLeft="0dp"
            android:layout_marginBottom="0dp"
            android:src="@drawable/screwed" />
   <ImageView
            android:id="@+id/rightBottom"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true"
            android:layout_marginRight="0dp"
            android:layout_marginBottom="0dp"
            android:src="@drawable/screwed" />
<ScrollView 
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:fillViewport="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="30dp"
    android:layout_marginTop="30dp"
    android:layout_marginRight="30dp"
    android:layout_marginBottom="30dp"
    android:id="@+id/scrollView" >

    <RelativeLayout 
    android:id="@+id/mainLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/celeste">

        

</RelativeLayout>
</ScrollView>
</RelativeLayout> 
Mi sarebbe dispiaciuto doverlo riscrivere di sana pianta, anche se sarebbe servito come esercizio.

Ora scrivo il richiamo di elementi dal database.

public void leggiDaDatabase(String currentCat){
  Cursor crs=helper.query(currentCat);
  
  do{
   LinearLayout layout=new LinearLayout(this);
   
   ImageView imageView=new ImageView(this);
   Bitmap bmp=BitmapFactory.decodeByteArray(crs.getBlob(numImmagine), 0, crs.getBlob(numImmagine).length);
   imageView.setImageBitmap(bmp);
   layout.addView(imageView);
   
   TextView txtEtichetta =new TextView(this);
   txtEtichetta.setText(crs.getString(numEtichetta));
   layout.addView(txtEtichetta);
   
   TextView txtCategoria=new TextView(this);
   txtCategoria.setText(crs.getString(numCategoria));
   layout.addView(txtCategoria);
   
   LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(100,100);
   layout.setGravity(0);
   layout.setOrientation(LinearLayout.VERTICAL);
   
   mainLayout.addView(layout);
   
   
  }while(crs.moveToNext());
  
 }

E lo faccio chiamare così dall'evento onStart() prevedendo che dovrà essere usato al rientro da un'altra activity:
 @Override
 public void onStart(){
  super.onStart();
  if(categoriaCorrente==null) categoriaCorrente="iniziale";
  try{
  leggiDaDatabase(categoriaCorrente);
  }catch(Exception e){}
 }


Devo sperimentare se funziona.
Ma non avendo ancora immagini nel database mi preparo il "terreno" per crearle.
Creo l'eventListener per il layout principale al click lungo, per chiamare l'activity "ImagePicker" che sceglie le immagini dalla memoria".
Ecco l'xml di ImagePicker:
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    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.progettoultimo.ImagePicker" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="27dp"
        android:layout_marginTop="24dp"
        android:src="@drawable/ic_launcher" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="24dp"
        android:layout_marginTop="10dp"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="80dp"
        android:layout_marginTop="70dp" >


       <RadioButton
            android:id="@+id/radio0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="RadioButton" />

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="RadioButton" />
    </RadioGroup>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="16dp"
        android:layout_marginRight="150dp"
        android:text="INVIA" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="16dp"
        android:layout_marginRight="30dp"
        android:text="ANNULLA" />


</RelativeLayout> 
E quindi creo l'evento OnLongClickListener per il mainLayout in modo da chiamare quest'altra activity:
  mainLayout.setOnLongClickListener(new View.OnLongClickListener() {
   
   @Override
   public boolean onLongClick(View v) {
    Intent intent=new Intent(MainActivity.this,ImagePicker.class);
    startActivity(intent);
    return false;
   }
  });
Ho sperimentato, e funziona.

Nessun commento:

Posta un commento