Skip to content

Commit

Permalink
Parsisiųsti prekės informaciją
Browse files Browse the repository at this point in the history
  • Loading branch information
ViliusKraujutis committed Mar 29, 2014
1 parent 585d87a commit 9bda4b6
Show file tree
Hide file tree
Showing 10 changed files with 159 additions and 6 deletions.
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Sąrašiukas, kaip programėlė buvo tobulinama
Tie kas atėjo pirmą kartą, reikėjo įsidiegti:

* Naujausią [Android Studio](http://developer.android.com/sdk/installing/studio.html)
* [Gradle versiją 1.9](http://services.gradle.org/distributions/gradle-1.9-all.zip)
* [Gradle versiją 1.11](http://services.gradle.org/distributions/gradle-1.11-all.zip)
* [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)

### Susigeneruoti Android programėlę
Expand Down Expand Up @@ -126,3 +126,9 @@ Nuskenuotų prekių sąrašą vis atnaujinti įrašais duomenų bazėje
* Sąrašo eilutės vaizdavimui sukurti layout'ą (pradžiai tik su `TextView` barkodo atvaizdavimui)

[Pasikeitimai](https://github.com/gdgvilnius/MaistoBankas/commit/)

### Rodyti informaciją apie nuskenuotą prekę

* Parsisiųsti prekės informaciją
* Susikurti prekės informacijos duomenų modelį ir išsaugoti informaciją į DB
* Atvaizduoti prekės informaciją sąraše
5 changes: 4 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apply plugin: 'android'

android {
compileSdkVersion 19
buildToolsVersion "19.0.1"
buildToolsVersion "19.0.3"

defaultConfig {
minSdkVersion 7
Expand All @@ -21,5 +21,8 @@ android {
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.j256.ormlite:ormlite-android:4.+'
compile 'com.squareup.retrofit:retrofit:1.5.0'
compile 'com.android.support:support-v4:13.0.+'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.google.guava:guava:16.+'
}
9 changes: 6 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="lt.andro.maistobankas" >
package="lt.andro.maistobankas">

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

<application
android:name=".MainApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:theme="@style/AppTheme">
<activity
android:name="lt.andro.maistobankas.MainActivity"
android:label="@string/app_name" >
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
16 changes: 16 additions & 0 deletions app/src/main/java/lt/andro/maistobankas/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,12 @@
import java.sql.SQLException;
import java.util.Date;

import lt.andro.maistobankas.api.entity.ItemInfoResponse;
import lt.andro.maistobankas.db.ScannedItem;
import lt.andro.maistobankas.util.ScanUtil;
import retrofit.Callback;
import retrofit.RetrofitError;
import retrofit.client.Response;

public class MainActivity extends BaseActivity {

Expand Down Expand Up @@ -59,6 +63,18 @@ public void onActivityResult(int requestCode, int resultCode, Intent intent) {
scannedItem.setTime(new Date());
scannedItem.setVolunteer("Vilius");

MainApplication.mainService.getItemInfo(barcode, new Callback<ItemInfoResponse>() {
@Override
public void success(ItemInfoResponse itemInfoResponse, Response response) {
Log.d("MainActivity", itemInfoResponse.toString());
}

@Override
public void failure(RetrofitError error) {
Log.e("MainActivity", error.getMessage());
}
});

try {
getHelper().getScannedItemDao().create(scannedItem);
} catch (SQLException e) {
Expand Down
25 changes: 25 additions & 0 deletions app/src/main/java/lt/andro/maistobankas/MainApplication.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package lt.andro.maistobankas;

import android.app.Application;

import lt.andro.maistobankas.api.ItemInfoProviders;
import lt.andro.maistobankas.api.MainService;
import lt.andro.maistobankas.util.Utils;
import retrofit.RestAdapter;
import retrofit.converter.GsonConverter;

/**
* @since 2014-03-29 11:58
*/
public class MainApplication extends Application {
public static MainService mainService;

public MainApplication() {
final RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(ItemInfoProviders.getServicesEndpoint())
.setConverter(new GsonConverter(Utils.getGson()))
.setLogLevel(RestAdapter.LogLevel.FULL).build();

mainService = restAdapter.create(MainService.class);
}
}
12 changes: 12 additions & 0 deletions app/src/main/java/lt/andro/maistobankas/api/ItemInfoProviders.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package lt.andro.maistobankas.api;

/**
* @since 2014-03-29 11:55
*/
public class ItemInfoProviders {
private static final String SERVICES_ENDPOINT = "http://somedomain.com/";//TODO add real service endpoint

public static String getServicesEndpoint() {
return SERVICES_ENDPOINT;
}
}
15 changes: 15 additions & 0 deletions app/src/main/java/lt/andro/maistobankas/api/MainService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package lt.andro.maistobankas.api;

import lt.andro.maistobankas.api.entity.ItemInfoResponse;
import retrofit.Callback;
import retrofit.http.GET;
import retrofit.http.Path;

/**
* @since 2014-03-29 11:34
*/
public interface MainService {

@GET("/cards/by-gtin/{gtin}?format=json")
void getItemInfo(@Path("gtin") String globalTradeItemNumber, Callback<ItemInfoResponse> callback);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package lt.andro.maistobankas.api.entity;

import java.util.Objects;

/**
* @since 2014-03-29 11:50
*/
public class ItemInfoResponse {

String title;
String amount;
boolean isDiscount;
double discount;
double price;
/**
* Global Trade Item Number
*/
String gtin;

public String getTitle() {
return title;
}

public String getAmount() {
return amount;
}

public boolean isDiscount() {
return isDiscount;
}

public double getDiscount() {
return discount;
}

public double getPrice() {
return price;
}

public String getGtin() {
return gtin;
}

@Override
public String toString() {
return com.google.common.base.Objects.toStringHelper(this)
.add("title", title)
.add("amount", amount)
.add("isDiscount", isDiscount)
.add("discount", discount)
.add("price", price)
.add("gtin", gtin)
.toString();
}
}
18 changes: 18 additions & 0 deletions app/src/main/java/lt/andro/maistobankas/util/Utils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package lt.andro.maistobankas.util;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

/**
* @since 2014-03-29 12:23
*/
public class Utils {
private static Gson gson;

public static Gson getGson() {
if (gson == null) {
gson = new GsonBuilder().create();
}
return gson;
}
}
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
classpath 'com.android.tools.build:gradle:0.9.+'
}
}

Expand Down

0 comments on commit 9bda4b6

Please sign in to comment.