diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 97626ba..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/statistic.xml b/.idea/statistic.xml deleted file mode 100644 index 5d396c1..0000000 --- a/.idea/statistic.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.gitignore b/MyAppL11Assign/.gitignore similarity index 100% rename from .gitignore rename to MyAppL11Assign/.gitignore diff --git a/.idea/compiler.xml b/MyAppL11Assign/.idea/compiler.xml similarity index 100% rename from .idea/compiler.xml rename to MyAppL11Assign/.idea/compiler.xml diff --git a/.idea/copyright/profiles_settings.xml b/MyAppL11Assign/.idea/copyright/profiles_settings.xml similarity index 100% rename from .idea/copyright/profiles_settings.xml rename to MyAppL11Assign/.idea/copyright/profiles_settings.xml diff --git a/.idea/gradle.xml b/MyAppL11Assign/.idea/gradle.xml similarity index 100% rename from .idea/gradle.xml rename to MyAppL11Assign/.idea/gradle.xml diff --git a/.idea/misc.xml b/MyAppL11Assign/.idea/misc.xml similarity index 100% rename from .idea/misc.xml rename to MyAppL11Assign/.idea/misc.xml diff --git a/.idea/modules.xml b/MyAppL11Assign/.idea/modules.xml similarity index 67% rename from .idea/modules.xml rename to MyAppL11Assign/.idea/modules.xml index 1b3ccab..35cc577 100644 --- a/.idea/modules.xml +++ b/MyAppL11Assign/.idea/modules.xml @@ -2,7 +2,7 @@ - + diff --git a/.idea/runConfigurations.xml b/MyAppL11Assign/.idea/runConfigurations.xml similarity index 100% rename from .idea/runConfigurations.xml rename to MyAppL11Assign/.idea/runConfigurations.xml diff --git a/app/.gitignore b/MyAppL11Assign/app/.gitignore similarity index 100% rename from app/.gitignore rename to MyAppL11Assign/app/.gitignore diff --git a/app/build.gradle b/MyAppL11Assign/app/build.gradle similarity index 87% rename from app/build.gradle rename to MyAppL11Assign/app/build.gradle index b963ad0..9540d76 100644 --- a/app/build.gradle +++ b/MyAppL11Assign/app/build.gradle @@ -1,12 +1,11 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 26 - buildToolsVersion "25.0.2" + buildToolsVersion "25.0.3" defaultConfig { - applicationId "com.codingblocks.restapiretrofitjson" + applicationId "com.example.dell.myappl11assign" minSdkVersion 16 targetSdkVersion 26 versionCode 1 @@ -20,7 +19,9 @@ android { } } } - +repositories { + mavenCentral() +} dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { @@ -28,13 +29,13 @@ dependencies { }) compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" compile 'com.android.support:appcompat-v7:26.+' + compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8' + compile 'com.android.support:design:26.+' compile 'com.android.support:recyclerview-v7:26.+' compile 'com.android.support:cardview-v7:26.+' - compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8' compile 'com.squareup.retrofit2:retrofit:2.3.0' compile 'com.squareup.retrofit2:converter-gson:2.3.0' + compile 'com.squareup.picasso:picasso:2.5.2' testCompile 'junit:junit:4.12' } -repositories { - mavenCentral() -} + diff --git a/app/proguard-rules.pro b/MyAppL11Assign/app/proguard-rules.pro similarity index 91% rename from app/proguard-rules.pro rename to MyAppL11Assign/app/proguard-rules.pro index 36a7b84..a70d8ed 100644 --- a/app/proguard-rules.pro +++ b/MyAppL11Assign/app/proguard-rules.pro @@ -1,6 +1,6 @@ # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified -# in /Users/championswimmer/Library/Android/sdk/tools/proguard/proguard-android.txt +# in C:\Users\dell\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # diff --git a/app/src/androidTest/java/com/codingblocks/restapiretrofitjson/ExampleInstrumentedTest.java b/MyAppL11Assign/app/src/androidTest/java/com/example/dell/myappl11assign/ExampleInstrumentedTest.java similarity index 82% rename from app/src/androidTest/java/com/codingblocks/restapiretrofitjson/ExampleInstrumentedTest.java rename to MyAppL11Assign/app/src/androidTest/java/com/example/dell/myappl11assign/ExampleInstrumentedTest.java index 1e14941..c0e203e 100644 --- a/app/src/androidTest/java/com/codingblocks/restapiretrofitjson/ExampleInstrumentedTest.java +++ b/MyAppL11Assign/app/src/androidTest/java/com/example/dell/myappl11assign/ExampleInstrumentedTest.java @@ -1,4 +1,4 @@ -package com.codingblocks.restapiretrofitjson; +package com.example.dell.myappl11assign; import android.content.Context; import android.support.test.InstrumentationRegistry; @@ -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.example.dell.myappl11assign", appContext.getPackageName()); } } diff --git a/app/src/main/AndroidManifest.xml b/MyAppL11Assign/app/src/main/AndroidManifest.xml similarity index 63% rename from app/src/main/AndroidManifest.xml rename to MyAppL11Assign/app/src/main/AndroidManifest.xml index 363fe63..04a1fbc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/MyAppL11Assign/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="com.example.dell.myappl11assign"> @@ -11,9 +11,6 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - - - @@ -21,7 +18,13 @@ - + + + + + + + \ No newline at end of file diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/AlbumsActivity.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/AlbumsActivity.java new file mode 100644 index 0000000..c715d6d --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/AlbumsActivity.java @@ -0,0 +1,68 @@ +package com.example.dell.myappl11assign; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.Log; + +import com.example.dell.myappl11assign.adapters.AlbumAdapter; +import com.example.dell.myappl11assign.api.AlbumsAPI; +import com.example.dell.myappl11assign.interfaces.OnItemClickListener; +import com.example.dell.myappl11assign.models.Album; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +public class AlbumsActivity extends AppCompatActivity { + public static final String TAG="AlbumsActivity"; + RecyclerView rvAlbumsList; + AlbumAdapter albumAdapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_albums); + + rvAlbumsList= (RecyclerView) findViewById(R.id.rvAlbumsList); + rvAlbumsList.setLayoutManager(new LinearLayoutManager(this)); + albumAdapter=new AlbumAdapter(this,new ArrayList()); + rvAlbumsList.setAdapter(albumAdapter); + albumAdapter.setOnItemClickListerner(new OnItemClickListener() { + @Override + public void onItemClick(int itemId) { + Intent photoActIntent=new Intent(AlbumsActivity.this,PhotosActivity.class); + photoActIntent.putExtra("albumId",itemId); + startActivity(photoActIntent); + } + }); + + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("https://jsonplaceholder.typicode.com") + .addConverterFactory( + GsonConverterFactory.create() + ) + .build(); + + AlbumsAPI albumsAPI=retrofit.create(AlbumsAPI.class); + Callback>albumCallBack=new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + Log.d(TAG, "onResponse: *****************"); + albumAdapter.updateAlbums(response.body()); + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }; + albumsAPI.getAlbums().enqueue(albumCallBack); + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/CommentsActivity.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/CommentsActivity.java new file mode 100644 index 0000000..dc1c68d --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/CommentsActivity.java @@ -0,0 +1,64 @@ +package com.example.dell.myappl11assign; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.Log; + +import com.example.dell.myappl11assign.adapters.CommentAdapter; +import com.example.dell.myappl11assign.api.CommentsAPI; +import com.example.dell.myappl11assign.models.Comment; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +public class CommentsActivity extends AppCompatActivity { + public static final String TAG="CommentsActivity"; + RecyclerView rvCommentsList; + CommentAdapter commentAdapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_comments); + + rvCommentsList= (RecyclerView) findViewById(R.id.rvCommentsList); + rvCommentsList.setLayoutManager(new LinearLayoutManager(this)); + commentAdapter=new CommentAdapter(this,new ArrayList()); + rvCommentsList.setAdapter(commentAdapter); + + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("https://jsonplaceholder.typicode.com") + .addConverterFactory( + GsonConverterFactory.create() + ) + .build(); + + CommentsAPI commentsAPI=retrofit.create(CommentsAPI.class); + Callback> commentCallback=new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + Log.d(TAG, "onResponse: ****************"); + commentAdapter.updateComments(response.body()); + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }; + int userIdReceived = getIntent().getIntExtra("UserId",-1); + if(userIdReceived!=-1){ + commentsAPI.getCommentsByPostId(userIdReceived).enqueue(commentCallback); + }else{ + commentsAPI.getComments().enqueue(commentCallback); + } + + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/FullImageActivity.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/FullImageActivity.java new file mode 100644 index 0000000..6f478ec --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/FullImageActivity.java @@ -0,0 +1,32 @@ +package com.example.dell.myappl11assign; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.widget.ImageView; +import android.widget.TextView; + +import com.squareup.picasso.Picasso; + +public class FullImageActivity extends AppCompatActivity { + + ImageView ivFullImagePhoto; + TextView tvFullImageTitle; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_full_image); + + ivFullImagePhoto = (ImageView) findViewById(R.id.ivFullImagePhoto); + tvFullImageTitle = (TextView) findViewById(R.id.tvFullImageTitle); + + String photoURLReceived = getIntent().getStringExtra("photoURL"); + if (photoURLReceived != null) { + Picasso.with(FullImageActivity.this).load(photoURLReceived).error(R.drawable.ic_missing).into(ivFullImagePhoto); + } + String photoTitleReceived=getIntent().getStringExtra("photoTitle"); + if(photoTitleReceived!=null){ + tvFullImageTitle.setText(photoTitleReceived); + } + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/MainActivity.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/MainActivity.java new file mode 100644 index 0000000..4f77356 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/MainActivity.java @@ -0,0 +1,67 @@ +package com.example.dell.myappl11assign; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.Button; + +public class MainActivity extends AppCompatActivity { + public static final String TAG = "MainActivity"; + Button btnUsers, btnPosts, btnAlbums, btnTodos; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + btnUsers = (Button) findViewById(R.id.btnUsers); + btnPosts = (Button) findViewById(R.id.btnPosts); + btnAlbums = (Button) findViewById(R.id.btnAlbums); + btnTodos = (Button) findViewById(R.id.btnTodos); + + + btnUsers.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Log.d(TAG, "onClick: *************"); + Intent i = new Intent(MainActivity.this, UsersActivity.class); + startActivity(i); + + } + }); + + + btnPosts.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Log.d(TAG, "onClick: **************"); + Intent i = new Intent(MainActivity.this, PostsActivity.class); + startActivity(i); + } + }); + + + btnAlbums.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Log.d(TAG, "onClick: ***************"); + Intent i = new Intent(MainActivity.this, AlbumsActivity.class); + startActivity(i); + } + }); + + + btnTodos.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Log.d(TAG, "onClick: *****************"); + Intent i = new Intent(MainActivity.this, TodosActivity.class); + startActivity(i); + } + }); + + + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/PhotosActivity.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/PhotosActivity.java new file mode 100644 index 0000000..6d5b9b1 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/PhotosActivity.java @@ -0,0 +1,75 @@ +package com.example.dell.myappl11assign; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.Log; + +import com.example.dell.myappl11assign.adapters.PhotoAdapter; +import com.example.dell.myappl11assign.api.PhotosAPI; +import com.example.dell.myappl11assign.interfaces.OnItemClickListener; +import com.example.dell.myappl11assign.models.Photo; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +public class PhotosActivity extends AppCompatActivity { + public static final String TAG = "PhotosActivity"; + RecyclerView rvPhotoList; + PhotoAdapter photoAdapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_photos); + + rvPhotoList = (RecyclerView) findViewById(R.id.rvPhotosList); + rvPhotoList.setLayoutManager(new LinearLayoutManager(this)); + photoAdapter = new PhotoAdapter(this, new ArrayList()); + rvPhotoList.setAdapter(photoAdapter); + photoAdapter.setOnItemClickListener(new OnItemClickListener() { + @Override + public void onItemClick(int itemId) { + Intent fullImageActIntent=new Intent(PhotosActivity.this,FullImageActivity.class); + fullImageActIntent.putExtra("photoURL",photoAdapter.getPhotos().get(itemId-1).getUrl()); + fullImageActIntent.putExtra("photoTitle",photoAdapter.getPhotos().get(itemId-1).getTitle()); + startActivity(fullImageActIntent); + } + }); + + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("https://jsonplaceholder.typicode.com") + .addConverterFactory( + GsonConverterFactory.create() + ) + .build(); + + PhotosAPI photosAPI = retrofit.create(PhotosAPI.class); + Callback> photoCallback = new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + Log.d(TAG, "onResponse: *************************"); + photoAdapter.updatePhotos(response.body()); + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }; + int albumIdReceived = getIntent().getIntExtra("albumId", -1); + if (albumIdReceived != -1) { + photosAPI.getPhotosOfId(albumIdReceived).enqueue(photoCallback); + } else { + photosAPI.getPhotos().enqueue(photoCallback); + } + + } +} diff --git a/app/src/main/java/com/codingblocks/restapiretrofitjson/activities/PostsActivity.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/PostsActivity.java similarity index 61% rename from app/src/main/java/com/codingblocks/restapiretrofitjson/activities/PostsActivity.java rename to MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/PostsActivity.java index b244f79..2b1bb71 100644 --- a/app/src/main/java/com/codingblocks/restapiretrofitjson/activities/PostsActivity.java +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/PostsActivity.java @@ -1,31 +1,27 @@ -package com.codingblocks.restapiretrofitjson.activities; +package com.example.dell.myappl11assign; import android.content.Intent; -import android.os.Bundle; import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; -import android.view.View; -import com.codingblocks.restapiretrofitjson.MainActivity; -import com.codingblocks.restapiretrofitjson.R; -import com.codingblocks.restapiretrofitjson.adapters.PostAdapter; -import com.codingblocks.restapiretrofitjson.api.API; -import com.codingblocks.restapiretrofitjson.api.PostsAPI; -import com.codingblocks.restapiretrofitjson.interfaces.OnItemClickListener; -import com.codingblocks.restapiretrofitjson.models.Post; +import com.example.dell.myappl11assign.adapters.PostAdapter; +import com.example.dell.myappl11assign.api.PostsAPI; +import com.example.dell.myappl11assign.interfaces.OnItemClickListener; +import com.example.dell.myappl11assign.models.Post; import java.util.ArrayList; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; public class PostsActivity extends AppCompatActivity { - - public static final String TAG = "PA"; - + public static final String TAG = "PostsActivity"; RecyclerView rvPostsList; PostAdapter postAdapter; @@ -40,20 +36,25 @@ protected void onCreate(Bundle savedInstanceState) { rvPostsList.setAdapter(postAdapter); postAdapter.setOnItemClickListener(new OnItemClickListener() { @Override - public void onItemClick(int itemId, View view) { - Intent i = new Intent(PostsActivity.this, CommentsActivity.class); - i.putExtra("postId", itemId); - startActivity(i); + public void onItemClick(int itemId) { + Intent commActIntent = new Intent(PostsActivity.this,CommentsActivity.class); + commActIntent.putExtra("userId",itemId); + startActivity(commActIntent); } }); + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("https://jsonplaceholder.typicode.com") + .addConverterFactory( + GsonConverterFactory.create() + ) + .build(); - PostsAPI postsAPI = API.getInstance().getPostsAPI(); + PostsAPI postsAPI = retrofit.create(PostsAPI.class); Callback> postCallback = new Callback>() { - @Override public void onResponse(Call> call, Response> response) { - Log.d(TAG, "onResponse: "); + Log.d(TAG, "onResponse: ****************"); postAdapter.updatePosts(response.body()); } @@ -68,6 +69,5 @@ public void onFailure(Call> call, Throwable t) { } else { postsAPI.getPosts().enqueue(postCallback); } - } } diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/TodosActivity.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/TodosActivity.java new file mode 100644 index 0000000..0081670 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/TodosActivity.java @@ -0,0 +1,64 @@ +package com.example.dell.myappl11assign; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.Log; + +import com.example.dell.myappl11assign.adapters.TodoAdapter; +import com.example.dell.myappl11assign.api.TodosAPI; +import com.example.dell.myappl11assign.models.Todo; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +public class TodosActivity extends AppCompatActivity { + public static final String TAG="TodosActivity"; + RecyclerView rvTodosList; + TodoAdapter todoAdapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_todos); + + rvTodosList= (RecyclerView) findViewById(R.id.rvTodosList); + rvTodosList.setLayoutManager(new LinearLayoutManager(this)); + todoAdapter=new TodoAdapter(this,new ArrayList()); + rvTodosList.setAdapter(todoAdapter); + + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("https://jsonplaceholder.typicode.com") + .addConverterFactory( + GsonConverterFactory.create() + ) + .build(); + + TodosAPI todosAPI = retrofit.create(TodosAPI.class); + final Callback>todoCallBack=new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + Log.d(TAG, "onResponse: ********************"); + todoAdapter.updateTodos(response.body()); + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }; + int userIdReceived=getIntent().getIntExtra("userId",-1); + if(userIdReceived!=-1){ + todosAPI.getTodosByUserId(userIdReceived).enqueue(todoCallBack); + }else{ + todosAPI.getTodos().enqueue(todoCallBack); + } + + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/UsersActivity.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/UsersActivity.java new file mode 100644 index 0000000..c2215a4 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/UsersActivity.java @@ -0,0 +1,62 @@ +package com.example.dell.myappl11assign; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.Toast; + +import com.example.dell.myappl11assign.adapters.UserAdapter; +import com.example.dell.myappl11assign.api.UsersAPI; +import com.example.dell.myappl11assign.models.User; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +public class UsersActivity extends AppCompatActivity { + public static final String TAG = "UsersActivity"; + RecyclerView rvUsersList; + UserAdapter userAdapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_users); + Log.d(TAG, "onCreate: **************"); + + rvUsersList = (RecyclerView) findViewById(R.id.rvUsersList); + rvUsersList.setLayoutManager(new LinearLayoutManager(this)); + userAdapter = new UserAdapter(this, new ArrayList()); + rvUsersList.setAdapter(userAdapter); + + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("https://jsonplaceholder.typicode.com") + .addConverterFactory( + GsonConverterFactory.create() + ) + .build(); + + final UsersAPI usersAPI = retrofit.create(UsersAPI.class); + usersAPI.getUsers().enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + userAdapter.updateUsers(response.body()); + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }); + + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/AlbumAdapter.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/AlbumAdapter.java new file mode 100644 index 0000000..80243b8 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/AlbumAdapter.java @@ -0,0 +1,78 @@ +package com.example.dell.myappl11assign.adapters; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import com.example.dell.myappl11assign.R; +import com.example.dell.myappl11assign.interfaces.OnItemClickListener; +import com.example.dell.myappl11assign.models.Album; + +import java.util.ArrayList; + +/** + * Created by dell on 01-07-2017. + */ + +public class AlbumAdapter extends RecyclerView.Adapter { + public static final String TAG = "AlbumAdapter"; + private Context context; + private ArrayList albums; + private OnItemClickListener onItemClickListerner; + + public void setOnItemClickListerner(OnItemClickListener onItemClickListerner) { + this.onItemClickListerner = onItemClickListerner; + } + + public AlbumAdapter(Context context, ArrayList albums) { + this.context = context; + this.albums = albums; + } + + public void updateAlbums(ArrayList albums) { + this.albums = albums; + 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, int position) { + Log.d(TAG, "onBindViewHolder: ***************"); + final Album thisAlbum=albums.get(position); + holder.tvAlbumTitle.setText(thisAlbum.getTitle()); + holder.thisView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(onItemClickListerner!=null){ + onItemClickListerner.onItemClick(thisAlbum.getId()); + } + } + }); + + } + + @Override + public int getItemCount() { + return albums.size(); + } + + class AlbumViewHolder extends RecyclerView.ViewHolder { + TextView tvAlbumTitle; + View thisView; + public AlbumViewHolder(View itemView) { + super(itemView); + thisView=itemView; + tvAlbumTitle=(TextView)itemView.findViewById(R.id.tvAlbumTitle); + } + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/CommentAdapter.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/CommentAdapter.java new file mode 100644 index 0000000..c8d64f0 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/CommentAdapter.java @@ -0,0 +1,64 @@ +package com.example.dell.myappl11assign.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.TextView; + +import com.example.dell.myappl11assign.R; +import com.example.dell.myappl11assign.models.Comment; + +import java.util.ArrayList; + +/** + * Created by dell on 01-07-2017. + */ + +public class CommentAdapter extends RecyclerView.Adapter { + public static final String TAG = "CommentAdapter"; + private Context context; + private ArrayList comments; + + public CommentAdapter(Context context, ArrayList comments) { + this.context = context; + this.comments = comments; + } + + public void updateComments(ArrayList comments) { + this.comments = comments; + 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 = comments.get(position); + holder.tvCommentBody.setText(thisComment.getBody()); + holder.tvCommentEmail.setText(thisComment.getEmail()); + holder.tvCommentName.setText(thisComment.getName()); + } + + @Override + public int getItemCount() { + return comments.size(); + } + + class CommentViewHolder extends RecyclerView.ViewHolder { + TextView tvCommentBody, tvCommentName, tvCommentEmail; + + 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); + } + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/PhotoAdapter.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/PhotoAdapter.java new file mode 100644 index 0000000..e80e3e8 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/PhotoAdapter.java @@ -0,0 +1,94 @@ +package com.example.dell.myappl11assign.adapters; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import com.example.dell.myappl11assign.R; +import com.example.dell.myappl11assign.interfaces.OnItemClickListener; +import com.example.dell.myappl11assign.models.Photo; +import com.squareup.picasso.Picasso; + +import java.util.ArrayList; + +/** + * Created by dell on 01-07-2017. + */ + +public class PhotoAdapter extends RecyclerView.Adapter { + public static final String TAG = "PhotoAdapter"; + private Context context; + private ArrayList photos; + private OnItemClickListener onItemClickListener; + + public ArrayList getPhotos() { + return photos; + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.onItemClickListener = onItemClickListener; + } + + public PhotoAdapter(Context context, ArrayList photos) { + this.context = context; + this.photos = photos; + } + + public void updatePhotos(ArrayList photos) { + this.photos = photos; + notifyDataSetChanged(); + } + + @Override + public PhotoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + View itemView = li.inflate(R.layout.list_item_photo, parent, false); + return new PhotoViewHolder(itemView); + } + + @Override + public void onBindViewHolder(PhotoViewHolder holder, int position) { + Log.d(TAG, "onBindViewHolder: **************"); + final Photo thisPhoto = photos.get(position); + String imageURL=thisPhoto.getThumbnailUrl(); + Log.d(TAG, "onBindViewHolder: ************** "+thisPhoto.getUrl()); + Log.d(TAG, "onBindViewHolder: ************** "+thisPhoto.getThumbnailUrl()); + if(imageURL!=null){ + Picasso.with(context).load(imageURL).error(R.drawable.ic_missing).into(holder.ivPhotoThumbnail); + } + //Picasso.with(context).load(thisPhoto.getThumbnaulUrl()).into(holder.ivPhotoThumbnail); + holder.tvPhotoTitle.setText(thisPhoto.getTitle()); + + holder.thisView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(onItemClickListener!=null){ + onItemClickListener.onItemClick(thisPhoto.getId()); + } + } + }); + + } + + @Override + public int getItemCount() { + return photos.size(); + } + + class PhotoViewHolder extends RecyclerView.ViewHolder { + ImageView ivPhotoThumbnail; + TextView tvPhotoTitle; + View thisView; + public PhotoViewHolder(View itemView) { + super(itemView); + thisView=itemView; + ivPhotoThumbnail = (ImageView) itemView.findViewById(R.id.ivPhotoThumbnail); + tvPhotoTitle = (TextView) itemView.findViewById(R.id.tvPhotoTitle); + } + } +} diff --git a/app/src/main/java/com/codingblocks/restapiretrofitjson/adapters/PostAdapter.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/PostAdapter.java similarity index 59% rename from app/src/main/java/com/codingblocks/restapiretrofitjson/adapters/PostAdapter.java rename to MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/PostAdapter.java index 5a6fdef..59dd641 100644 --- a/app/src/main/java/com/codingblocks/restapiretrofitjson/adapters/PostAdapter.java +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/PostAdapter.java @@ -1,4 +1,4 @@ -package com.codingblocks.restapiretrofitjson.adapters; +package com.example.dell.myappl11assign.adapters; import android.content.Context; import android.support.v7.widget.RecyclerView; @@ -8,24 +8,20 @@ import android.view.ViewGroup; import android.widget.TextView; -import com.codingblocks.restapiretrofitjson.R; -import com.codingblocks.restapiretrofitjson.interfaces.OnItemClickListener; -import com.codingblocks.restapiretrofitjson.models.Post; +import com.example.dell.myappl11assign.R; +import com.example.dell.myappl11assign.interfaces.OnItemClickListener; +import com.example.dell.myappl11assign.models.Post; import java.util.ArrayList; /** - * Created by championswimmer on 29/06/17. + * Created by dell on 01-07-2017. */ -public class PostAdapter - extends RecyclerView.Adapter { - - public static final String TAG = "PADPTR"; - +public class PostAdapter extends RecyclerView.Adapter { + public static final String TAG = "PostAdapter"; private Context context; private ArrayList posts; - private OnItemClickListener onItemClickListener; public void setOnItemClickListener(OnItemClickListener onItemClickListener) { @@ -38,36 +34,33 @@ public PostAdapter(Context context, ArrayList posts) { } public void updatePosts(ArrayList posts) { - this.posts = posts; + this.posts=posts; notifyDataSetChanged(); } @Override public PostViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - Log.d(TAG, "onCreateViewHolder: "); - LayoutInflater li = - (LayoutInflater) context.getSystemService( - Context.LAYOUT_INFLATER_SERVICE); - View itemView = li.inflate(R.layout.list_item_post, parent, false); - + Log.d(TAG, "onCreateViewHolder: ****************"); + LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + View itemView=li.inflate(R.layout.list_item_post,parent,false); return new PostViewHolder(itemView); } @Override public void onBindViewHolder(PostViewHolder holder, int position) { - Log.d(TAG, "onBindViewHolder: "); - final Post thisPost = posts.get(position); - + Log.d(TAG, "onBindViewHolder: *******************"); + final Post thisPost=posts.get(position); holder.tvPostTitle.setText(thisPost.getTitle()); holder.tvPostBody.setText(thisPost.getBody()); holder.thisView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if (onItemClickListener != null) { - onItemClickListener.onItemClick(thisPost.getId(), view); + if(onItemClickListener!=null){ + onItemClickListener.onItemClick(thisPost.getId()); } } }); + } @Override @@ -76,15 +69,13 @@ public int getItemCount() { } class PostViewHolder extends RecyclerView.ViewHolder { - - TextView tvPostBody, tvPostTitle; + TextView tvPostTitle,tvPostBody; View thisView; - public PostViewHolder(View itemView) { super(itemView); - thisView = itemView; - tvPostBody = (TextView) itemView.findViewById(R.id.tvPostBody); - tvPostTitle = (TextView) itemView.findViewById(R.id.tvPostTitle); + thisView=itemView; + tvPostTitle=(TextView) itemView.findViewById(R.id.tvPostTitle); + tvPostBody=(TextView) itemView.findViewById(R.id.tvPostBody); } } } diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/TodoAdapter.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/TodoAdapter.java new file mode 100644 index 0000000..6fe8742 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/TodoAdapter.java @@ -0,0 +1,66 @@ +package com.example.dell.myappl11assign.adapters; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.example.dell.myappl11assign.R; +import com.example.dell.myappl11assign.models.Todo; + +import java.util.ArrayList; + +/** + * Created by dell on 01-07-2017. + */ + +public class TodoAdapter extends RecyclerView.Adapter { + public static final String TAG="TodoAdapter"; + private Context context; + private ArrayList todos; + + public TodoAdapter(Context context, ArrayList todos) { + this.context = context; + this.todos = todos; + } + + public void updateTodos(ArrayListtodos){ + this.todos=todos; + notifyDataSetChanged(); + } + @Override + public TodoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + View itemView=li.inflate(R.layout.list_item_todo,parent,false); + return new TodoViewHolder(itemView); + } + + @Override + public void onBindViewHolder(TodoViewHolder holder, int position) { + Log.d(TAG, "onBindViewHolder: *********************"); + Todo thisTodo=todos.get(position); + holder.cbTodoCompleted.setChecked(thisTodo.getCompleted()); + holder.tvTodoTitle.setText(thisTodo.getTitle()); + } + + @Override + public int getItemCount() { + return todos.size(); + } + + class TodoViewHolder extends RecyclerView.ViewHolder{ + CheckBox cbTodoCompleted; + TextView tvTodoTitle; + + public TodoViewHolder(View itemView) { + super(itemView); + + cbTodoCompleted=(CheckBox) itemView.findViewById(R.id.cbTodoCompleted); + tvTodoTitle=(TextView) itemView.findViewById(R.id.tvTodoTitle); + } + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/UserAdapter.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/UserAdapter.java new file mode 100644 index 0000000..94c67de --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/adapters/UserAdapter.java @@ -0,0 +1,105 @@ +package com.example.dell.myappl11assign.adapters; + +import android.content.Context; +import android.content.Intent; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.Button; +import android.widget.TextView; + +import com.example.dell.myappl11assign.PostsActivity; +import com.example.dell.myappl11assign.R; +import com.example.dell.myappl11assign.TodosActivity; +import com.example.dell.myappl11assign.UsersActivity; +import com.example.dell.myappl11assign.interfaces.OnItemClickListener; +import com.example.dell.myappl11assign.models.User; + +import java.util.ArrayList; + +/** + * Created by dell on 01-07-2017. + */ + +public class UserAdapter extends RecyclerView.Adapter { + public static final String TAG = "UserAdapter"; + private Context context; + private ArrayList users; + private OnItemClickListener onItemClickListener; + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.onItemClickListener = onItemClickListener; + } + + public UserAdapter(Context context, ArrayList users) { + this.context = context; + this.users = users; + } + + public void updateUsers(ArrayList newUserList) { + this.users = newUserList; + notifyDataSetChanged(); + } + + @Override + public UserViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + View itemView = li.inflate(R.layout.list_item_user, parent, false); + return new UserViewHolder(itemView); + } + + @Override + public void onBindViewHolder(UserViewHolder holder, int position) { + final User thisUser = users.get(position); + holder.tvUserUserName.setText(thisUser.getUsername()); + holder.tvUserName.setText(thisUser.getName()); + holder.tvUserPhone.setText(thisUser.getPhone()); + holder.tvUserEmail.setText(thisUser.getEmail()); + holder.btnPosts.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Log.d(TAG, "onClick: ************** Reaching POST"); + + Intent postActIntent = new Intent(view.getContext(),PostsActivity.class); + postActIntent.putExtra("userId", thisUser.getId()); + view.getContext().startActivity(postActIntent); + } + }); + holder.btnTodos.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Log.d(TAG, "onClick: ***************** Reaching TODO"); + + Intent todoActIntent=new Intent(view.getContext(), TodosActivity.class); + todoActIntent.putExtra("userId",thisUser.getId()); + view.getContext().startActivity(todoActIntent); + } + }); + + } + + @Override + public int getItemCount() { + return users.size(); + } + + class UserViewHolder extends RecyclerView.ViewHolder { + TextView tvUserUserName, tvUserName, tvUserPhone, tvUserEmail; + Button btnPosts, btnTodos; + View thisView; + + public UserViewHolder(View itemView) { + super(itemView); + thisView = itemView; + tvUserUserName = (TextView) itemView.findViewById(R.id.tvUserUsername); + tvUserName = (TextView) itemView.findViewById(R.id.tvUserName); + tvUserPhone = (TextView) itemView.findViewById(R.id.tvUserPhone); + tvUserEmail = (TextView) itemView.findViewById(R.id.tvUserEmail); + btnPosts = (Button) itemView.findViewById(R.id.btnPosts); + btnTodos = (Button) itemView.findViewById(R.id.btnTodos); + } + } +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/AlbumsAPI.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/AlbumsAPI.java new file mode 100644 index 0000000..24e586f --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/AlbumsAPI.java @@ -0,0 +1,26 @@ +package com.example.dell.myappl11assign.api; + +import com.example.dell.myappl11assign.models.Album; +import com.example.dell.myappl11assign.models.Photo; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.http.GET; +import retrofit2.http.Path; + +/** + * Created by dell on 01-07-2017. + */ + +public interface AlbumsAPI { + @GET("/albums") + Call> getAlbums(); + + //interface PostsAPI{ + @GET("/albums/{id}/photos") + Call>getPhotosOfId( + @Path("id") int id + ); + //} +} diff --git a/app/src/main/java/com/codingblocks/restapiretrofitjson/api/CommentsAPI.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/CommentsAPI.java similarity index 69% rename from app/src/main/java/com/codingblocks/restapiretrofitjson/api/CommentsAPI.java rename to MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/CommentsAPI.java index 3f23b0f..652757d 100644 --- a/app/src/main/java/com/codingblocks/restapiretrofitjson/api/CommentsAPI.java +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/CommentsAPI.java @@ -1,6 +1,6 @@ -package com.codingblocks.restapiretrofitjson.api; +package com.example.dell.myappl11assign.api; -import com.codingblocks.restapiretrofitjson.models.Comment; +import com.example.dell.myappl11assign.models.Comment; import java.util.ArrayList; @@ -9,7 +9,7 @@ import retrofit2.http.Query; /** - * Created by championswimmer on 29/06/17. + * Created by dell on 01-07-2017. */ public interface CommentsAPI { diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/PhotosAPI.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/PhotosAPI.java new file mode 100644 index 0000000..45c3e1e --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/PhotosAPI.java @@ -0,0 +1,25 @@ +package com.example.dell.myappl11assign.api; + +import com.example.dell.myappl11assign.models.Photo; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.http.GET; +import retrofit2.http.Path; + +/** + * Created by dell on 01-07-2017. + */ + +public interface PhotosAPI { + + @GET("/photos") + Call>getPhotos(); + + @GET("/albums/{id}/photos") + Call>getPhotosOfId( + @Path("id") int id + ); + +} diff --git a/app/src/main/java/com/codingblocks/restapiretrofitjson/api/PostsAPI.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/PostsAPI.java similarity index 56% rename from app/src/main/java/com/codingblocks/restapiretrofitjson/api/PostsAPI.java rename to MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/PostsAPI.java index e9a48a9..f7b4836 100644 --- a/app/src/main/java/com/codingblocks/restapiretrofitjson/api/PostsAPI.java +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/PostsAPI.java @@ -1,7 +1,7 @@ -package com.codingblocks.restapiretrofitjson.api; +package com.example.dell.myappl11assign.api; -import com.codingblocks.restapiretrofitjson.models.Comment; -import com.codingblocks.restapiretrofitjson.models.Post; +import com.example.dell.myappl11assign.models.Comment; +import com.example.dell.myappl11assign.models.Post; import java.util.ArrayList; @@ -11,7 +11,7 @@ import retrofit2.http.Query; /** - * Created by championswimmer on 29/06/17. + * Created by dell on 01-07-2017. */ public interface PostsAPI { @@ -20,21 +20,20 @@ public interface PostsAPI { Call> getPosts(); @GET("/posts/{id}") - Call getPostById( + CallgetPostById( @Path("id") int id ); @GET("/posts") - Call> getPostsByUserId( + Call>getPostsByUserId( @Query("userId") int userId ); - interface CommentsAPI { - + interface CommentsAPI{ @GET("/posts/{postId}/comments") - Call> getCommentsOfPostId( + Call>getCommentsOfPostId( @Path("postId") int postId ); - } + } diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/TodosAPI.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/TodosAPI.java new file mode 100644 index 0000000..7ee09e5 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/TodosAPI.java @@ -0,0 +1,25 @@ +package com.example.dell.myappl11assign.api; + +import com.example.dell.myappl11assign.models.Todo; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.http.GET; +import retrofit2.http.Query; + +/** + * Created by dell on 01-07-2017. + */ + +public interface TodosAPI { + + @GET("/todos") + Call>getTodos(); + + @GET("/todos") + Call>getTodosByUserId( + @Query("userId") int userId + ); + +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/UsersAPI.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/UsersAPI.java new file mode 100644 index 0000000..f8d5dae --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/api/UsersAPI.java @@ -0,0 +1,18 @@ +package com.example.dell.myappl11assign.api; + +import com.example.dell.myappl11assign.models.User; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.http.GET; + +/** + * Created by dell on 01-07-2017. + */ + +public interface UsersAPI { + + @GET("/users") + Call> getUsers (); +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/interfaces/OnItemClickListener.java b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/interfaces/OnItemClickListener.java new file mode 100644 index 0000000..2b7617e --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/interfaces/OnItemClickListener.java @@ -0,0 +1,9 @@ +package com.example.dell.myappl11assign.interfaces; + +/** + * Created by dell on 01-07-2017. + */ + +public interface OnItemClickListener { + void onItemClick(int itemId); +} diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Album.kt b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Album.kt new file mode 100644 index 0000000..e8320b0 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Album.kt @@ -0,0 +1,10 @@ +package com.example.dell.myappl11assign.models + +/** + * Created by dell on 01-07-2017. + */ +data class Album ( + val userId: Int, + val id: Int, + val title: String +) \ No newline at end of file diff --git a/app/src/main/java/com/codingblocks/restapiretrofitjson/models/Comment.kt b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Comment.kt similarity index 53% rename from app/src/main/java/com/codingblocks/restapiretrofitjson/models/Comment.kt rename to MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Comment.kt index 932fdd9..ebf7dcc 100644 --- a/app/src/main/java/com/codingblocks/restapiretrofitjson/models/Comment.kt +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Comment.kt @@ -1,9 +1,9 @@ -package com.codingblocks.restapiretrofitjson.models +package com.example.dell.myappl11assign.models /** - * Created by championswimmer on 29/06/17. + * Created by dell on 01-07-2017. */ -data class Comment( +data class Comment ( val postId: Int, val id: Int, val name: String, diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Photo.kt b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Photo.kt new file mode 100644 index 0000000..0d8801b --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Photo.kt @@ -0,0 +1,12 @@ +package com.example.dell.myappl11assign.models + +/** + * Created by dell on 01-07-2017. + */ +data class Photo( + val albumId: Int, + val id: Int, + val title: String, + val url: String, + val thumbnailUrl: String +) \ No newline at end of file diff --git a/app/src/main/java/com/codingblocks/restapiretrofitjson/models/Post.kt b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Post.kt similarity index 55% rename from app/src/main/java/com/codingblocks/restapiretrofitjson/models/Post.kt rename to MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Post.kt index f8a8746..6386d3f 100644 --- a/app/src/main/java/com/codingblocks/restapiretrofitjson/models/Post.kt +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Post.kt @@ -1,12 +1,11 @@ -package com.codingblocks.restapiretrofitjson.models +package com.example.dell.myappl11assign.models /** - * Created by championswimmer on 29/06/17. + * Created by dell on 01-07-2017. */ - data class Post( val userId: Int, val id: Int, val title: String, val body: String -) +) \ No newline at end of file diff --git a/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Todo.kt b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Todo.kt new file mode 100644 index 0000000..ca3f504 --- /dev/null +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/Todo.kt @@ -0,0 +1,11 @@ +package com.example.dell.myappl11assign.models + +/** + * Created by dell on 01-07-2017. + */ +data class Todo( + val userId: Int, + val id: Int, + val title: String, + val completed: Boolean +) \ No newline at end of file diff --git a/app/src/main/java/com/codingblocks/restapiretrofitjson/models/User.kt b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/User.kt similarity index 62% rename from app/src/main/java/com/codingblocks/restapiretrofitjson/models/User.kt rename to MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/User.kt index d8b192e..68cbc94 100644 --- a/app/src/main/java/com/codingblocks/restapiretrofitjson/models/User.kt +++ b/MyAppL11Assign/app/src/main/java/com/example/dell/myappl11assign/models/User.kt @@ -1,12 +1,12 @@ -package com.codingblocks.restapiretrofitjson.models +package com.example.dell.myappl11assign.models /** - * Created by championswimmer on 29/06/17. + * Created by dell on 01-07-2017. */ data class User( val id: Int, - val username: String, val name: String, + val username: String, val email: String, val phone: String ) \ No newline at end of file diff --git a/MyAppL11Assign/app/src/main/res/drawable/ic_missing.jpg b/MyAppL11Assign/app/src/main/res/drawable/ic_missing.jpg new file mode 100644 index 0000000..c14dccd Binary files /dev/null and b/MyAppL11Assign/app/src/main/res/drawable/ic_missing.jpg differ diff --git a/MyAppL11Assign/app/src/main/res/layout/activity_albums.xml b/MyAppL11Assign/app/src/main/res/layout/activity_albums.xml new file mode 100644 index 0000000..e858270 --- /dev/null +++ b/MyAppL11Assign/app/src/main/res/layout/activity_albums.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/app/src/main/res/layout/activity_comments.xml b/MyAppL11Assign/app/src/main/res/layout/activity_comments.xml similarity index 71% rename from app/src/main/res/layout/activity_comments.xml rename to MyAppL11Assign/app/src/main/res/layout/activity_comments.xml index 79b765b..db4280e 100644 --- a/app/src/main/res/layout/activity_comments.xml +++ b/MyAppL11Assign/app/src/main/res/layout/activity_comments.xml @@ -4,11 +4,11 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context="com.codingblocks.restapiretrofitjson.activities.CommentsActivity"> - + tools:context="com.example.dell.myappl11assign.CommentsActivity"> + + - + android:layout_height="match_parent" /> diff --git a/MyAppL11Assign/app/src/main/res/layout/activity_full_image.xml b/MyAppL11Assign/app/src/main/res/layout/activity_full_image.xml new file mode 100644 index 0000000..0310d37 --- /dev/null +++ b/MyAppL11Assign/app/src/main/res/layout/activity_full_image.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + diff --git a/MyAppL11Assign/app/src/main/res/layout/activity_main.xml b/MyAppL11Assign/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..ff72bcf --- /dev/null +++ b/MyAppL11Assign/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,53 @@ + + + + + +