Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 6 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 26
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.codingblocks.restapiretrofitjson"
minSdkVersion 16
targetSdkVersion 26
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
Expand All @@ -27,11 +27,12 @@ dependencies {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support:recyclerview-v7:26.+'
compile 'com.android.support:cardview-v7:26.+'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8'
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.picasso:picasso:2.5.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
testCompile 'junit:junit:4.12'
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.codingblocks.restapiretrofitjson;
package com.aarushi.restapiretrofitjson;

import android.content.Context;
import android.support.test.InstrumentationRegistry;
Expand All @@ -21,6 +21,6 @@ public void useAppContext() throws Exception {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();

assertEquals("com.codingblocks.restapiretrofitjson", appContext.getPackageName());
assertEquals("com.aarushi.restapiretrofitjson", appContext.getPackageName());
}
}
13 changes: 8 additions & 5 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.codingblocks.restapiretrofitjson">
package="com.aarushi.restapiretrofitjson">

<uses-permission android:name="android.permission.INTERNET" />

Expand All @@ -11,17 +11,20 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".activities.UsersActivity" />
<activity android:name=".activities.PostsActivity" />
<activity android:name=".activities.CommentsActivity" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.TodosActivity"></activity>
<activity android:name=".UserActivity" />
<activity android:name=".PostsActivity" />
<activity android:name=".AlbumsActivity" />
<activity android:name=".AlbumThumbnail" />
<activity android:name=".TodosActivity" />
<activity android:name=".ImageURL" />
<activity android:name=".CommentsActivity"></activity>
</application>

</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.aarushi.restapiretrofitjson.API;

import com.aarushi.restapiretrofitjson.Models.Album;
import com.aarushi.restapiretrofitjson.Models.Thumbnail;

import java.util.ArrayList;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;

/**
* Created by hp on 7/1/2017.
*/

public interface AlbumsAPI {
@GET("/albums")
Call<ArrayList<Album>> getAlbums();


@GET("/albums/{id}/photos")
Call<ArrayList<Thumbnail>> getThumbnail(@Path("id") int albumId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.aarushi.restapiretrofitjson.API;

import com.aarushi.restapiretrofitjson.Models.Comment;

import java.util.ArrayList;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;

/**
* Created by hp on 7/2/2017.
*/

public interface CommentsAPI {

@GET("posts/{postId}/comments")
Call<ArrayList<Comment>> getCommentsByPostId(@Path("postId") int postId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.aarushi.restapiretrofitjson.API;

import com.aarushi.restapiretrofitjson.Models.Post;
import com.aarushi.restapiretrofitjson.Models.User;

import java.util.ArrayList;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;

/**
* Created by hp on 7/1/2017.
*/

public interface PostsAPI {
@GET("/posts")
Call<ArrayList<Post>> getPosts();

@GET("/users/{userId}/posts")
Call<ArrayList<Post>> getPostsByUserId(@Path("userId") int userId);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.aarushi.restapiretrofitjson.API;

import com.aarushi.restapiretrofitjson.Models.Todos;

import java.util.ArrayList;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;

/**
* Created by hp on 7/1/2017.
*/

public interface TodosAPI {
@GET("/todos")
Call<ArrayList<Todos>> getTodos();

@GET("/users/{userId}/todos")
Call<ArrayList<Todos>> getTodosByUserId(@Path("userId") int userId);
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package com.codingblocks.restapiretrofitjson.api;
package com.aarushi.restapiretrofitjson.API;

import com.codingblocks.restapiretrofitjson.models.User;
import com.aarushi.restapiretrofitjson.Models.User;

import java.util.ArrayList;

import retrofit2.Call;
import retrofit2.http.GET;

/**
* Created by championswimmer on 29/06/17.
* Created by hp on 7/1/2017.
*/

public interface UsersAPI {

@GET("/users")
Call<ArrayList<User>> getUsers();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package com.aarushi.restapiretrofitjson.Adapters;

import android.content.Context;
import android.content.Intent;
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.TextView;

import com.aarushi.restapiretrofitjson.AlbumThumbnail;
import com.aarushi.restapiretrofitjson.Interface.OnItemClickListener;
import com.aarushi.restapiretrofitjson.Models.Album;
import com.aarushi.restapiretrofitjson.Models.Post;
import com.aarushi.restapiretrofitjson.R;

import java.util.ArrayList;

/**
* Created by hp on 7/1/2017.
*/

public class AlbumsAdapter extends RecyclerView.Adapter<AlbumsAdapter.AlbumViewHolder>{
Context context;
ArrayList<Album> albumArrayList;
OnItemClickListener oicl;
public void setOnItemClickListener(OnItemClickListener oicl){
this.oicl=oicl;
}

public AlbumsAdapter(Context context, ArrayList<Album> albumArrayList) {
this.context = context;
this.albumArrayList = albumArrayList;
}

public void updateAlbums(ArrayList<Album> newAlbumList){
this.albumArrayList=newAlbumList;
notifyDataSetChanged();
}

@Override
public AlbumViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater li=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView=li.inflate(R.layout.list_item_album,parent,false);
return new AlbumViewHolder(itemView);
}


@Override
public void onBindViewHolder(AlbumViewHolder holder, final int position) {
final Album thisAlbum=albumArrayList.get(position);
holder.tvAlbumTitle.setText(thisAlbum.getTitle());
holder.thisView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(oicl!=null){
oicl.OnItemClick(position+1);
}
}
});

}

@Override
public int getItemCount() {
return albumArrayList.size();
}

class AlbumViewHolder extends RecyclerView.ViewHolder{
TextView tvAlbumTitle;
View thisView;
public AlbumViewHolder(View itemView){
super(itemView);
tvAlbumTitle=(TextView)itemView.findViewById(R.id.tvAlbumTitle);
thisView=itemView;
}

}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
package com.aarushi.restapiretrofitjson.Adapters;

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.Button;
import android.widget.TextView;

import com.aarushi.restapiretrofitjson.Models.Comment;
import com.aarushi.restapiretrofitjson.Models.Post;
import com.aarushi.restapiretrofitjson.R;

import java.util.ArrayList;

/**
* Created by hp on 7/2/2017.
*/

public class CommentsAdapter extends RecyclerView.Adapter<CommentsAdapter.CommentViewHolder>{


Context context;
ArrayList<Comment> commentArrayList;

public CommentsAdapter(Context context, ArrayList<Comment> commentArrayList) {
this.context = context;
this.commentArrayList = commentArrayList;
}

public void updateComments(ArrayList<Comment> newCommentList){
this.commentArrayList=newCommentList;
notifyDataSetChanged();
}

@Override
public CommentViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater li=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView=li.inflate(R.layout.list_item_comment,parent,false);
return new CommentViewHolder(itemView);
}


@Override
public void onBindViewHolder(CommentViewHolder holder, int position) {
Comment thisComment=commentArrayList.get(position);
holder.tvCommentBody.setText(thisComment.getBody());
holder.tvCommentEmail.setText(thisComment.getEmail());
holder.tvCommentName.setText(thisComment.getName());

}


@Override
public int getItemCount() {
return commentArrayList.size();
}

class CommentViewHolder extends RecyclerView.ViewHolder{
TextView tvCommentBody,tvCommentEmail,tvCommentName;
public CommentViewHolder(View itemView){
super(itemView);
tvCommentBody=(TextView)itemView.findViewById(R.id.tvCommentBody);
tvCommentEmail=(TextView)itemView.findViewById(R.id.tvCommentEmail);
tvCommentName=(TextView)itemView.findViewById(R.id.tvCommentName);


}

}


}
Loading