Uzupełnij zawartość activity pomocy i informacji o aplikacji
This commit is contained in:
parent
5c0af6ed33
commit
fb34c8286a
@ -1,8 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="delegatedBuild" value="false" />
|
||||
<option name="testRunner" value="PLATFORM" />
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="modules">
|
||||
@ -13,7 +16,6 @@
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveModulePerSourceSet" value="false" />
|
||||
<option name="testRunner" value="PLATFORM" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
|
@ -82,7 +82,7 @@ public class Favourites extends AppCompatActivity {
|
||||
protected Void doInBackground(Void... Void) {
|
||||
|
||||
OkHttpClient client = new OkHttpClient();
|
||||
Request request = new Request.Builder().url("http://192.168.8.101/products.php?id=0").build();
|
||||
Request request = new Request.Builder().url("http://192.168.0.87/products.php?id=0").build();
|
||||
try {
|
||||
Response response = client.newCall(request).execute();
|
||||
|
||||
|
@ -3,6 +3,8 @@ package com.example.lookifyv2;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.text.method.ScrollingMovementMethod;
|
||||
import android.widget.TextView;
|
||||
|
||||
public class Help extends AppCompatActivity {
|
||||
|
||||
@ -11,6 +13,9 @@ public class Help extends AppCompatActivity {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_help);
|
||||
|
||||
TextView text = findViewById(R.id.help);
|
||||
text.setMovementMethod(new ScrollingMovementMethod());
|
||||
|
||||
assert getSupportActionBar() != null;
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ public class Results extends AppCompatActivity {
|
||||
protected Void doInBackground(Void... Void) {
|
||||
|
||||
OkHttpClient client = new OkHttpClient();
|
||||
Request request = new Request.Builder().url("http://192.168.8.101/products.php?id=0").build();
|
||||
Request request = new Request.Builder().url("http://192.168.0.87/products.php?id=0").build();
|
||||
try {
|
||||
Response response = client.newCall(request).execute();
|
||||
|
||||
|
@ -8,14 +8,21 @@
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="O aplikacji"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:text="Lookify to prosta aplikacja stworzona na potrzeby zaliczenia przedmiotu "Pracownia Programowania" prowadzonego w semestrze zimowym roku akademickiego 2019/2020 przez dr Bartłomieja Przybylskiego. Autorem aplikacji jest Kacper Dudzic, nr indeksu 449288 . Rozpoczęciu prac nad Lookify przyświecała chęć stworzenia narzędzia, które stanowiłoby pomoc w znanej wielu osobom sytuacji, w której mimo, że znaleźliśmy przypadający nam do gustu artykuł odzieżowny w danym sklepie i jesteśmy gotowi go kupić, to jednak nie możemy przestać zastanawiać się, czy może w innym sklepie nie znajdziemy czegoś lepszego. Toteż opisywana tutaj aplikacja prezentuje użytkownikomi rekomendacje, czyli produkty jak najbardziej zbliżone pod względem pewnych kryteriów, takich jak kolor, styl, czy kolekcja, do produktu, którego kod kreskowy uprzednio zeskanował. Oprócz wyświetlania zdjęcia i podstawowych danych artykułu umożliwia wyświetlenie jego danych szczegółowych i dodanie go do listy produktów obserwowanych, czyli w zamyśle takich, których zakup będzie rozważać użytkownik. Przy pracy nad Lookify wykorzystano następujące technologie: Java, SQL, PHP, JSON. Android Studio, OpenCV, XAMPP, ZXing, OkHttp, Glide, Apache, MySQL, Gimp, Guava."
|
||||
android:textColor="#000000"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintHorizontal_bias="0.1"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:textColor="#000000"/>
|
||||
app:layout_constraintVertical_bias="0.0" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -7,15 +7,23 @@
|
||||
tools:context=".Help">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Pomoc"
|
||||
android:id="@+id/help"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:scrollbars="vertical"
|
||||
android:text="Drogi użytkowniku! Witaj w aplikacji Lookify. Powstała ona, by pomóc Ci w dokonaniu decyzji dotyczącej zakupu artykułu odzieźowego poprzez prezentowanie Ci rekomendacji, to jest produktów podobnych pod wzgłedem takich kryteriów jak kolor, styl, czy kolekcja do artykułu, którego kod kreskowy zeskanujesz.\n\nBy zagwarantować poprawne działanie aplikacji upewnij się, że zezwoliłeś jej na dostęp do kamery telefonu, internetu i wyraziłeś zgodę na zapisywanie danych w pamięci urządzenia. Upewnij się również, że podczas korzystania z aplikacji jesteś cały czas podłączony do prawidłowo działającej sieci. \n\nBy rozpocząć korzystanie z Lookify, wciśnij przycisk SKANOWANIE. Następnie zrób zdjęcie żądanemu kodowi kreskowemu. Powinno być ono wyraźne i z dobrym oświetleniem, a kod powinien znajdować się w centrum kadru, nie za blisko i nie za daleko obiektywu. Nie fotografuj więcej niż jednego kodu naraz. Obsługiwane formaty kodów wypisane zostały na dole tej strony. Następnie zaakceptuj lub odrzuć zdjęcie klikając w odpowiedni symbol, znajdujący się u góry ekranu. Jeśli aplikacja zydentyfikuje poprawny kod kreskowy, po chwili przeniesiony zostaniesz do ekranu rekomendacji. Jeśli coś pójdzie nie tak, zostaniesz o tym poinformowany odpowiednim komunikat i będziesz mieć możliwość powtórzyć proces, wciskając przycisk SPRÓBUJ PONOWNIE. W górnej części ekranu rekomendacji wyświetlone zostaną dane i zdjęcie produktu, który zeskanowałeś, i dwa przyciski: OBSERWUJ doda ten produkt do Obserowanych, a SZCZEGÓŁY spowoduje wyświetlenie Ci szczegółowych informacji o nim. Pod spodem, w przewijalnym widoku wyświetlone zostaną zdjęcia i dane produktów, które uznane zostały za najbardziej podobne do tego, którego kod zeskanowałeś. Klikając na zdjęcie rozwiniesz menu zapewniające względem danego produktu te same funkcjonalności, co dwa przyciski u góry. \n\nPo zeskanowaniu kodu i dodaniu produktów do Obserwowanych możesz je wyświetlić w każdej chwili, klikając przycisk OBSERWOWANE na głównym ekranie. Tam, tak samo jak na ekranie rekomendacji, możesz kliknąć na obrazek produktu, by za pomocą odpowiedniej opcji w wyświetlonym menu usunąć go z Obserwowanych lub wyświetlić szczegółowe informacje o nim. \n\nPamiętaj, że z każdego statycznego ekranu możesz wyjść za pomocą symbolu strzałki znajdującego się w lewym górnym rogu takiego ekranu. \n\nObsługiwane formaty kodów: Aztec, Codabar, Code 39, Code 93, Code 128, Data Matrix, EAN-8, EAN-13, ITF, PDF417, QR, RSS-14, RSS Expanded, UPC-A, UPC-E."
|
||||
android:textColor="#000000"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:textColor="#000000"/>
|
||||
app:layout_constraintVertical_bias="0.0" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -7,7 +7,7 @@ buildscript {
|
||||
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.5.3'
|
||||
classpath 'com.android.tools.build:gradle:3.6.0'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
@ -1,6 +1,6 @@
|
||||
#Wed Dec 18 17:40:14 CET 2019
|
||||
#Tue Feb 25 21:47:27 CET 2020
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
|
||||
|
@ -0,0 +1 @@
|
||||
o/classes
|
Binary file not shown.
@ -0,0 +1,198 @@
|
||||
/*
|
||||
* This file is auto-generated. DO NOT MODIFY.
|
||||
*/
|
||||
package org.opencv.engine;
|
||||
/**
|
||||
* Class provides a Java interface for OpenCV Engine Service. It's synchronous with native OpenCVEngine class.
|
||||
*/
|
||||
public interface OpenCVEngineInterface extends android.os.IInterface
|
||||
{
|
||||
/** Local-side IPC implementation stub class. */
|
||||
public static abstract class Stub extends android.os.Binder implements org.opencv.engine.OpenCVEngineInterface
|
||||
{
|
||||
private static final java.lang.String DESCRIPTOR = "org.opencv.engine.OpenCVEngineInterface";
|
||||
/** Construct the stub at attach it to the interface. */
|
||||
public Stub()
|
||||
{
|
||||
this.attachInterface(this, DESCRIPTOR);
|
||||
}
|
||||
/**
|
||||
* Cast an IBinder object into an org.opencv.engine.OpenCVEngineInterface interface,
|
||||
* generating a proxy if needed.
|
||||
*/
|
||||
public static org.opencv.engine.OpenCVEngineInterface asInterface(android.os.IBinder obj)
|
||||
{
|
||||
if ((obj==null)) {
|
||||
return null;
|
||||
}
|
||||
android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
|
||||
if (((iin!=null)&&(iin instanceof org.opencv.engine.OpenCVEngineInterface))) {
|
||||
return ((org.opencv.engine.OpenCVEngineInterface)iin);
|
||||
}
|
||||
return new org.opencv.engine.OpenCVEngineInterface.Stub.Proxy(obj);
|
||||
}
|
||||
@Override public android.os.IBinder asBinder()
|
||||
{
|
||||
return this;
|
||||
}
|
||||
@Override public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException
|
||||
{
|
||||
java.lang.String descriptor = DESCRIPTOR;
|
||||
switch (code)
|
||||
{
|
||||
case INTERFACE_TRANSACTION:
|
||||
{
|
||||
reply.writeString(descriptor);
|
||||
return true;
|
||||
}
|
||||
case TRANSACTION_getEngineVersion:
|
||||
{
|
||||
data.enforceInterface(descriptor);
|
||||
int _result = this.getEngineVersion();
|
||||
reply.writeNoException();
|
||||
reply.writeInt(_result);
|
||||
return true;
|
||||
}
|
||||
case TRANSACTION_getLibPathByVersion:
|
||||
{
|
||||
data.enforceInterface(descriptor);
|
||||
java.lang.String _arg0;
|
||||
_arg0 = data.readString();
|
||||
java.lang.String _result = this.getLibPathByVersion(_arg0);
|
||||
reply.writeNoException();
|
||||
reply.writeString(_result);
|
||||
return true;
|
||||
}
|
||||
case TRANSACTION_installVersion:
|
||||
{
|
||||
data.enforceInterface(descriptor);
|
||||
java.lang.String _arg0;
|
||||
_arg0 = data.readString();
|
||||
boolean _result = this.installVersion(_arg0);
|
||||
reply.writeNoException();
|
||||
reply.writeInt(((_result)?(1):(0)));
|
||||
return true;
|
||||
}
|
||||
case TRANSACTION_getLibraryList:
|
||||
{
|
||||
data.enforceInterface(descriptor);
|
||||
java.lang.String _arg0;
|
||||
_arg0 = data.readString();
|
||||
java.lang.String _result = this.getLibraryList(_arg0);
|
||||
reply.writeNoException();
|
||||
reply.writeString(_result);
|
||||
return true;
|
||||
}
|
||||
default:
|
||||
{
|
||||
return super.onTransact(code, data, reply, flags);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static class Proxy implements org.opencv.engine.OpenCVEngineInterface
|
||||
{
|
||||
private android.os.IBinder mRemote;
|
||||
Proxy(android.os.IBinder remote)
|
||||
{
|
||||
mRemote = remote;
|
||||
}
|
||||
@Override public android.os.IBinder asBinder()
|
||||
{
|
||||
return mRemote;
|
||||
}
|
||||
public java.lang.String getInterfaceDescriptor()
|
||||
{
|
||||
return DESCRIPTOR;
|
||||
}
|
||||
@Override public int getEngineVersion() throws android.os.RemoteException
|
||||
{
|
||||
android.os.Parcel _data = android.os.Parcel.obtain();
|
||||
android.os.Parcel _reply = android.os.Parcel.obtain();
|
||||
int _result;
|
||||
try {
|
||||
_data.writeInterfaceToken(DESCRIPTOR);
|
||||
mRemote.transact(Stub.TRANSACTION_getEngineVersion, _data, _reply, 0);
|
||||
_reply.readException();
|
||||
_result = _reply.readInt();
|
||||
}
|
||||
finally {
|
||||
_reply.recycle();
|
||||
_data.recycle();
|
||||
}
|
||||
return _result;
|
||||
}
|
||||
@Override public java.lang.String getLibPathByVersion(java.lang.String version) throws android.os.RemoteException
|
||||
{
|
||||
android.os.Parcel _data = android.os.Parcel.obtain();
|
||||
android.os.Parcel _reply = android.os.Parcel.obtain();
|
||||
java.lang.String _result;
|
||||
try {
|
||||
_data.writeInterfaceToken(DESCRIPTOR);
|
||||
_data.writeString(version);
|
||||
mRemote.transact(Stub.TRANSACTION_getLibPathByVersion, _data, _reply, 0);
|
||||
_reply.readException();
|
||||
_result = _reply.readString();
|
||||
}
|
||||
finally {
|
||||
_reply.recycle();
|
||||
_data.recycle();
|
||||
}
|
||||
return _result;
|
||||
}
|
||||
/**
|
||||
* Tries to install defined version of OpenCV from Google Play Market.
|
||||
* @param OpenCV version.
|
||||
* @return Returns true if installation was successful or OpenCV package has been already installed.
|
||||
*/
|
||||
@Override public boolean installVersion(java.lang.String version) throws android.os.RemoteException
|
||||
{
|
||||
android.os.Parcel _data = android.os.Parcel.obtain();
|
||||
android.os.Parcel _reply = android.os.Parcel.obtain();
|
||||
boolean _result;
|
||||
try {
|
||||
_data.writeInterfaceToken(DESCRIPTOR);
|
||||
_data.writeString(version);
|
||||
mRemote.transact(Stub.TRANSACTION_installVersion, _data, _reply, 0);
|
||||
_reply.readException();
|
||||
_result = (0!=_reply.readInt());
|
||||
}
|
||||
finally {
|
||||
_reply.recycle();
|
||||
_data.recycle();
|
||||
}
|
||||
return _result;
|
||||
}
|
||||
@Override public java.lang.String getLibraryList(java.lang.String version) throws android.os.RemoteException
|
||||
{
|
||||
android.os.Parcel _data = android.os.Parcel.obtain();
|
||||
android.os.Parcel _reply = android.os.Parcel.obtain();
|
||||
java.lang.String _result;
|
||||
try {
|
||||
_data.writeInterfaceToken(DESCRIPTOR);
|
||||
_data.writeString(version);
|
||||
mRemote.transact(Stub.TRANSACTION_getLibraryList, _data, _reply, 0);
|
||||
_reply.readException();
|
||||
_result = _reply.readString();
|
||||
}
|
||||
finally {
|
||||
_reply.recycle();
|
||||
_data.recycle();
|
||||
}
|
||||
return _result;
|
||||
}
|
||||
}
|
||||
static final int TRANSACTION_getEngineVersion = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0);
|
||||
static final int TRANSACTION_getLibPathByVersion = (android.os.IBinder.FIRST_CALL_TRANSACTION + 1);
|
||||
static final int TRANSACTION_installVersion = (android.os.IBinder.FIRST_CALL_TRANSACTION + 2);
|
||||
static final int TRANSACTION_getLibraryList = (android.os.IBinder.FIRST_CALL_TRANSACTION + 3);
|
||||
}
|
||||
public int getEngineVersion() throws android.os.RemoteException;
|
||||
public java.lang.String getLibPathByVersion(java.lang.String version) throws android.os.RemoteException;
|
||||
/**
|
||||
* Tries to install defined version of OpenCV from Google Play Market.
|
||||
* @param OpenCV version.
|
||||
* @return Returns true if installation was successful or OpenCV package has been already installed.
|
||||
*/
|
||||
public boolean installVersion(java.lang.String version) throws android.os.RemoteException;
|
||||
public java.lang.String getLibraryList(java.lang.String version) throws android.os.RemoteException;
|
||||
}
|
@ -1 +1 @@
|
||||
[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":3480,"versionName":"3.4.8","enabled":true,"outputFile":"openCVLibrary348-debug.aar","fullName":"debug","baseName":"debug"},"path":"AndroidManifest.xml","properties":{"packageId":"org.opencv","split":""}}]
|
||||
[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":3480,"versionName":"3.4.8","enabled":true,"outputFile":"openCVLibrary348-debug.aar","fullName":"debug","baseName":"debug","dirName":""},"path":"AndroidManifest.xml","properties":{"packageId":"org.opencv","split":""}}]
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
int attr camera_id 0x0
|
||||
int attr show_fps 0x0
|
||||
int id any 0x0
|
||||
int id back 0x0
|
||||
int id front 0x0
|
||||
int[] styleable CameraBridgeViewBase { 0x0, 0x0 }
|
||||
int styleable CameraBridgeViewBase_camera_id 0
|
||||
int styleable CameraBridgeViewBase_show_fps 1
|
@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\HDD\Moi\Studia\Informatyka\Lookify\openCVLibrary348\src\main\assets"/><source path="C:\HDD\Moi\Studia\Informatyka\Lookify\openCVLibrary348\build\intermediates\shader_assets\debug\compileDebugShaders\out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\HDD\Moi\Studia\Informatyka\Lookify\openCVLibrary348\src\debug\assets"/></dataSet></merger>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\HDD\Moi\Studia\Informatyka\Lookify\openCVLibrary348\src\main\assets"/><source path="C:\HDD\Moi\Studia\Informatyka\Lookify\openCVLibrary348\build\intermediates\shader_assets\debug\out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\HDD\Moi\Studia\Informatyka\Lookify\openCVLibrary348\src\debug\assets"/></dataSet></merger>
|
@ -1 +1 @@
|
||||
#Fri Dec 20 20:43:57 CET 2019
|
||||
#Tue Feb 25 23:39:16 CET 2020
|
||||
|
@ -0,0 +1,8 @@
|
||||
R_DEF: Internal format may change without notice
|
||||
local
|
||||
attr? camera_id
|
||||
attr? show_fps
|
||||
id any
|
||||
id back
|
||||
id front
|
||||
styleable CameraBridgeViewBase show_fps camera_id
|
@ -1 +1 @@
|
||||
[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":3480,"versionName":"3.4.8","enabled":true,"outputFile":"openCVLibrary348-debug.aar","fullName":"debug","baseName":"debug"},"path":"..\\..\\library_manifest\\debug\\AndroidManifest.xml","properties":{"packageId":"org.opencv","split":""}}]
|
||||
[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":3480,"versionName":"3.4.8","enabled":true,"outputFile":"openCVLibrary348-debug.aar","fullName":"debug","baseName":"debug","dirName":""},"path":"../../library_manifest/debug/AndroidManifest.xml","properties":{"packageId":"org.opencv","split":""}}]
|
@ -0,0 +1 @@
|
||||
[]
|
Binary file not shown.
@ -0,0 +1,7 @@
|
||||
org.opencv
|
||||
attr camera_id
|
||||
attr show_fps
|
||||
id any
|
||||
id back
|
||||
id front
|
||||
styleable CameraBridgeViewBase camera_id show_fps
|
Loading…
Reference in New Issue
Block a user