Professional Documents
Culture Documents
Villafuerte Jonathan
Manifest
2
Activity_main
<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=".MainActivity">
<TextView
android:id="@+id/lbltitulo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#445c3a"
android:lineSpacingExtra="14sp"
android:paddingTop="3dp"
android:paddingBottom="3dp" <ListView
android:text="Lista de Volúmenes" android:id="@+id/lstvolumenes"
android:textAlignment="center" android:layout_width="match_parent"
android:textColor="#d07f17" android:layout_height="match_parent"
android:textColorHighlight="@color/colorPrimaryDark" android:layout_below="@+id/lbltitulo"
android:textColorHint="@color/colorPrimary" android:layout_alignParentStart="true"
android:textSize="24sp" android:layout_alignParentBottom="true"
android:textStyle="bold" android:layout_marginStart="0dp"
android:visibility="visible" android:layout_marginTop="10dp"
3 app:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="0dp" />
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" </RelativeLayout>
app:layout_constraintTop_toTopOf="parent" />
Layout_item
<TextView
android:id="@+id/lblTitulo" </LinearLayout>
android:layout_width="match_parent"
4
Activity_articulos
<RelativeLayout android:textColorHint="@color/colorPrimary"
xmlns:android="http://schemas.android.com/apk/res/android" android:textSize="24sp"
xmlns:app="http://schemas.android.com/apk/res-auto" android:textStyle="bold"
xmlns:tools="http://schemas.android.com/tools" android:visibility="visible"
android:layout_width="match_parent" app:layout_constraintBottom_toBottomOf="parent"
android:layout_height="match_parent" app:layout_constraintLeft_toLeftOf="parent"
tools:context=".ArticulosActivity"> app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ListView
<TextView android:id="@+id/lstarticulos"
android:id="@+id/lbltituloRevista" android:layout_width="match_parent"
android:layout_width="match_parent" android:layout_height="match_parent"
android:layout_height="wrap_content" android:layout_below="@+id/lbltituloRevista"
android:background="#445c3a" android:layout_alignParentStart="true"
android:lineSpacingExtra="14sp" android:layout_alignParentBottom="true"
android:paddingTop="3dp" android:layout_marginStart="0dp"
android:paddingBottom="3dp" android:layout_marginTop="8dp"
android:text="Título de revista" android:layout_marginBottom="0dp" />
android:textAlignment="center"
android:textColor="#d07f17" </RelativeLayout>
android:textColorHighlight="@color/colorPrimaryDark"
5
layout_articulos
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imgPDF"
android:layout_width="100dp"
android:layout_height="100dp" />
<LinearLayout <TextView
xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/lblSeccion"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:text="Volúmen"
android:padding="5dp"> android:textColor="@color/colorAccent"
android:textSize="15sp"
<TextView android:textStyle="bold" />
android:id="@+id/lblTitulo"
android:layout_width="match_parent" <TextView
android:layout_height="wrap_content" android:id="@+id/lblFecha"
android:text="Título" android:layout_width="match_parent"
android:textColor="@color/colorPrimaryDark" android:layout_height="wrap_content"
6 android:textSize="17sp" android:text="Fecha de publicación"
android:textStyle="bold" /> android:textColor="@color/colorPrimaryDark"
android:textSize="14sp"
Clase Articulos
ImageView imageView;
return(item);
}
}
9
Adapter Volumen
return(item);
}
}
10
Main Activity
public class MainActivity extends AppCompatActivity implements Asynchtask, AdapterView.OnItemClickListener {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView)findViewById(R.id.lstvolumenes);
@Override
public void processFinish(String result) throws JSONException { @Override
//Toast.makeText(MainActivity.this,result,Toast.LENGTH_LONG).show(); public void onItemClick(AdapterView<?> parent, View view, int
JSONObject jsonObject = new JSONObject(result); position, long id) {
JSONArray jsonArray = jsonObject.getJSONArray("issues"); Intent intent = new Intent(MainActivity.this,
for (int i=0; i<jsonArray.length(); i++) ArticulosActivity.class);
{ Bundle b = new Bundle();
JSONObject obj = jsonArray.getJSONObject(i); b.putString("Volum", data.get(position).getVol());
Volumen volumen = new Volumen(obj); b.putString("Num", data.get(position).getNum());
data = volumen.JsonObjectsBuild(jsonArray); b.putString("Revista",data.get(position).getTitulo());
} intent.putExtras(b);
AdapterVolumenes adapterVolumenes = new AdapterVolumenes(this, data); startActivity(intent);
listView.setAdapter(adapterVolumenes); }
11 }
listView.setOnItemClickListener(this);
}
Articulos Activity
Map<String, String> datos = new HashMap<String, String>(); Log.e("Permission error","You have asked for permission");
WebService ws= new ActivityCompat.requestPermissions(this, new String[]
WebService("http://revistas.uteq.edu.ec/ws/getarticles.php?" + {Manifest.permission.WRITE_EXTERNAL_STORAGE},
"volumen="+ bundle.getString("Volum") + 1);
"&num="+ bundle.getString("Num"), return false;
datos, this, this); }
ws.execute(""); }
else { //you dont need to worry about these stuff below api level 23
listView = (ListView)findViewById(R.id.lstarticulos); Log.e("Permission error","You already have the permission");
} return true;
}
}
12
Articulos Activity
13
Articulos Activity
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
articlee = data.get(position).getTitulo();
String url = data.get(position).getUrlPdf();
imageView = (ImageView)view.findViewById(R.id.imgPDF);
imageView.setTag(data.get(position).getUrlPdf());
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isDownloadManagerAvailable())
{
String url = data.get(position).getUrlPdf();
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDescription("PDF Paper");
request.setTitle(articlee);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
}
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, url);
} catch (Exception e) {