-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Gramantieri Stefano
committed
Jul 21, 2016
0 parents
commit ec3eb14
Showing
62 changed files
with
2,806 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
apply plugin: 'com.android.application' | ||
apply plugin: 'com.neenbedankt.android-apt' | ||
|
||
android { | ||
compileSdkVersion rootProject.ext.androidCompileSdkVersion | ||
buildToolsVersion rootProject.ext.androidBuildToolsVersion | ||
|
||
// aggiungere questo per il testing | ||
dexOptions { | ||
jumboMode true | ||
} | ||
|
||
|
||
|
||
repositories { | ||
mavenCentral() | ||
maven { url "https://oss.sonatype.org/content/repositories/snapshots" } | ||
|
||
} | ||
|
||
// aggiungere questo per il testing | ||
packagingOptions { | ||
exclude 'META-INF/DEPENDENCIES.txt' | ||
exclude 'META-INF/LICENSE.txt' | ||
exclude 'META-INF/NOTICE.txt' | ||
exclude 'META-INF/NOTICE' | ||
exclude 'META-INF/LICENSE' | ||
exclude 'META-INF/DEPENDENCIES' | ||
exclude 'META-INF/notice.txt' | ||
exclude 'META-INF/license.txt' | ||
exclude 'META-INF/dependencies.txt' | ||
exclude 'META-INF/LGPL2.1' | ||
|
||
exclude 'META-INF/DEPENDENCIES.txt' | ||
exclude 'META-INF/NOTICE' | ||
exclude 'META-INF/NOTICE.txt' | ||
exclude 'META-INF/LICENSE' | ||
exclude 'META-INF/LICENSE.txt' | ||
|
||
|
||
} | ||
|
||
defaultConfig { | ||
applicationId "app.go.search" | ||
minSdkVersion rootProject.ext.androidMinSdkVersion | ||
targetSdkVersion rootProject.ext.androidTargetSdkVersion | ||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | ||
versionCode 1 | ||
versionName "1.0" | ||
} | ||
|
||
buildTypes { | ||
release { | ||
minifyEnabled false | ||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | ||
} | ||
|
||
} | ||
} | ||
|
||
allprojects { | ||
configurations.all { | ||
resolutionStrategy.force 'com.android.support:support-annotations:22.1.0' | ||
} | ||
} | ||
|
||
dependencies { | ||
Map<String, String> dependencies = rootProject.ext.dependencies; | ||
|
||
compile dependencies.appCompat | ||
compile dependencies.cardView | ||
compile dependencies.recyclerView | ||
compile dependencies.design | ||
compile dependencies.gmaps | ||
compile dependencies.retrofit | ||
compile dependencies.retrofitConverterGson | ||
compile dependencies.retrofitAdapterRxJava | ||
|
||
compile dependencies.picasso | ||
compile dependencies.rxAndroid | ||
compile dependencies.circleImageView | ||
compile dependencies.butterKnife | ||
compile dependencies.materialDialog | ||
compile dependencies.drawButton | ||
|
||
apt 'com.google.dagger:dagger-compiler:2.1' | ||
compile 'com.google.dagger:dagger:2.1' | ||
provided 'org.glassfish:javax.annotation:10.0-b28' | ||
|
||
|
||
androidTestCompile 'com.android.support.test:runner:0.2' | ||
androidTestCompile 'com.android.support.test:rules:0.2' | ||
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.1' | ||
|
||
|
||
testCompile 'junit:junit:4.12' | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Add project specific ProGuard rules here. | ||
# By default, the flags in this file are appended to flags specified | ||
# in /Users/ivan/Library/Android/sdk/tools/proguard/proguard-android.txt | ||
# You can edit the include path and order by changing the proguardFiles | ||
# directive in build.gradle. | ||
# | ||
# For more details, see | ||
# http://developer.android.com/guide/developing/tools/proguard.html | ||
|
||
# Add any project specific keep options here: | ||
|
||
# If your project uses WebView with JS, uncomment the following | ||
# and specify the fully qualified class name to the JavaScript interface | ||
# class: | ||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { | ||
# public *; | ||
#} |
37 changes: 37 additions & 0 deletions
37
app-mvp/src/androidTest/java/app/go/search/MainActivityInstrumentationTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
package app.go.search; | ||
|
||
import android.support.test.rule.ActivityTestRule; | ||
import android.support.test.runner.AndroidJUnit4; | ||
import android.test.suitebuilder.annotation.LargeTest; | ||
|
||
import org.junit.Rule; | ||
import org.junit.Test; | ||
import org.junit.runner.RunWith; | ||
|
||
import app.go.search.view.FilmListActivity; | ||
|
||
import static android.support.test.espresso.Espresso.onView; | ||
import static android.support.test.espresso.action.ViewActions.click; | ||
import static android.support.test.espresso.action.ViewActions.closeSoftKeyboard; | ||
import static android.support.test.espresso.action.ViewActions.typeText; | ||
import static android.support.test.espresso.matcher.ViewMatchers.withId; | ||
import static android.support.test.espresso.matcher.ViewMatchers.withText; | ||
|
||
@RunWith(AndroidJUnit4.class) | ||
@LargeTest | ||
public class MainActivityInstrumentationTest { | ||
|
||
private static final String STRING_TO_BE_TYPED = "Rocky"; | ||
|
||
@Rule | ||
public ActivityTestRule<FilmListActivity> mActivityRule = new ActivityTestRule<>( | ||
FilmListActivity.class); | ||
|
||
@Test | ||
public void sayHello(){ | ||
onView(withId(R.id.edit_text_username)).perform(typeText(STRING_TO_BE_TYPED), closeSoftKeyboard()); | ||
onView(withId(R.id.button_search)).perform(click()); | ||
|
||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
package="app.go.search"> | ||
|
||
<uses-permission android:name="android.permission.INTERNET" /> | ||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | ||
|
||
<application | ||
android:name=".FilmApplication" | ||
android:allowBackup="true" | ||
android:icon="@mipmap/ic_launcher" | ||
android:label="@string/app_name" | ||
android:theme="@style/AppTheme"> | ||
|
||
<activity | ||
android:name=".view.FilmListActivity" | ||
android:label="@string/app_name" | ||
android:launchMode="singleTop" | ||
android:screenOrientation="portrait" | ||
android:theme="@style/AppTheme.NoActionBar"> | ||
<intent-filter> | ||
<action android:name="android.intent.action.MAIN" /> | ||
<category android:name="android.intent.category.LAUNCHER" /> | ||
</intent-filter> | ||
</activity> | ||
<activity | ||
android:name=".view.FilmDetailActivity" | ||
android:parentActivityName=".view.FilmListActivity" | ||
android:screenOrientation="portrait" | ||
android:theme="@style/AppTheme.NoActionBar" /> | ||
|
||
</application> | ||
|
||
</manifest> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
<html> | ||
<head> | ||
<style type="text/css"> | ||
* { | ||
word-wrap: break-word; | ||
} | ||
{style-placeholder} | ||
a { | ||
color: #{link-color}; | ||
} | ||
a:active { | ||
color: #{link-color-active}; | ||
} | ||
ol,ul { | ||
list-style-position: inside; | ||
padding-left: 0; | ||
padding-right: 0; | ||
} | ||
li:not(:first-child) { | ||
padding-top: 8px; | ||
} | ||
</style> | ||
</head> | ||
<body> | ||
|
||
<b>Android developer, full stack</b> | ||
|
||
<br><br> | ||
|
||
<b>Contact</b> | ||
<ul> | ||
<li>Mob. +39.347.2735823</li> | ||
<li>Skype ID: eirien71</li> | ||
<li>Email: [email protected]</li> | ||
</ul> | ||
|
||
<p>I'm a freelancer Android developer, therefore experiencing the full lifecycle of apps from inception, architectural design, implementation and app store launch. I have proven experiences in developing greenfield projects from scratch and in developing server side custom webservices. | ||
I'm searching for an Android role position</p> | ||
|
||
<b>Work history</b> | ||
|
||
<ul> | ||
<li>Android developer as freelancer from June 2011</li> | ||
<li>Java developer for Data Managenment SPA (current permanent work) from 2008</li> | ||
<li>Perl developer from 2000</li> | ||
<li>DBA from 2004</li> | ||
</ul> | ||
|
||
|
||
|
||
|
||
<b>About me</b> | ||
<p>Results-driven developer, passionate about delivering the best possible user experience with attention to software usability. | ||
I am hoping to specialize in software architecture, learn new Android programming techniques and search for challenges that help me evolve and stay always up-to-date</p> | ||
|
||
|
||
<b>Main activities and responsibilities:</b> | ||
<ul> | ||
<li>Design and develop complex mobile applications from scratch</li> | ||
<li>Understating and implementing of usage and accessibility concepts for building effective UI</li> | ||
<li>Testing and bug fixing</li> | ||
<li>Determining client needs and development of products based on their needs</li> | ||
<li>Abilities in developing server side complex cloud environments in Perl and Java for REST communication with client side Android applications</li> | ||
<li>Involvement in business analysis and suggesting the best solutions based on user experience</li> | ||
</ul> | ||
|
||
|
||
|
||
<b>Qualifications</b> | ||
<ul> | ||
<li>Programming technologies</li> | ||
<li>Deep understanding of Android SDK and development lifecycles</li> | ||
<li>Knowledge of Java and OOP</li> | ||
<li>Strong knowledge of Perl and database Oracle and mysql</li> | ||
<li>Knowledge of jquery mobile framework, HTML5.0 and CSS3</li> | ||
<li>Work efficiently from analysis to architecture to development and design</li> | ||
<li>Oracle University Certification OCP Oracle Certified Professional on 9i</li> | ||
<li>Operating Systems: Windows, Linux</li> | ||
<li>Skills in Eclipse and Android Studio IDE</li> | ||
</ul> | ||
|
||
|
||
|
||
<b>Spoken Languages</b> | ||
<p>English good level, Russian medium level</p> | ||
|
||
<b>Other skills</b> | ||
<ul> | ||
<li>Ability in understand client needs and build software from scratch</li> | ||
<li>Ability in reverse engineering</li> | ||
<li>Capability and willingness to learn fast</li> | ||
<li>Possess entrepreneurial spirit</li> | ||
<li>Competitive attitude</li> | ||
<li>Presentation and negotiating skills</li> | ||
</ul> | ||
|
||
|
||
|
||
|
||
<b>Android SDK skills in detail</b> | ||
<ul> | ||
<li>Material Design, material support library, knowledge, customization and data-driven usage of elements such as DrawerLayout, Navigation View, Floating labels for editing text, SnackBar, Tabs, CoordinatorLayout and the app bar, Collapsing Toolbars, FragmentStatePageAdapter, usage of ProGuard, usage of the google-play-lib in particular google map with custom infowindow integration, StaggeredGridView customization and usage</li> | ||
<li>Ability in sign-up / extract user-profile data from Facebook Login Graph API and Google+ API in Android Studio | ||
<li>Ability in create in-app deeplinking</li> | ||
<li>Knowledge and usage of MVP pattern architecture for easy testability and maintenance of code. Usage of RxJava with Retrofit and view injection with ButterKnife </li> | ||
<li>Google Video API ExoPlayer, usage direct or embedded in layout, embedding of Zxing qr library FloatingActionButton, FloatingMenuButton, Volley HTTP rest library, RecyclerView, CardsView</li> | ||
<li>Core Android components such as Activities, Fragments, Services, Broadcast Receivers etc.</li> | ||
<li>Ability in write my own webservices server-side to be used in RESTful mode by apps</li> | ||
<li>Ability in integrating UI components with the SQLite DB</li> | ||
<li>Lifecycle of activities/fragments</li> | ||
<li>Ability in building apps optimized for both small and large screen devices</li> | ||
<li>Geolocalization, advanced skills in push notification, knowledge of developing third party server push systems.</li> | ||
<li>Experiences in porting IOS code to Java Android native code.</li> | ||
<li>Blowfish REST server crypted protocol of communication usage and knowledge</li> | ||
<li>Android deep integration of Google Map API. With custom Infowindow, custom Infowindow action,</li> | ||
<li>Customizazion of dialog, listview, combo list, expandablelistview</li> | ||
<li>Use of SharedPreferences</li> | ||
<li>Acra debug integration</li> | ||
</ul> | ||
|
||
|
||
|
||
<b>Android Projects</b><br><br> | ||
<b>Tyffer (Startup cofounder)</b> | ||
<p>The native java Android application is the app front-end of the social marketing platform Tyffer: www.tyffer.com. | ||
I developed both client and server mechanics and architecture. Tyffer is a product of an Italian startup in which I'm the cofounder and CTO. The Android application give the possibility to users to choose from a bulk of categories of offer in which are interested. Offers are launched by merchants registered in Tyffer and they have a big set of web instruments (the merchants interface is written in jquery mobile) for launching both offer and events. The application presents a custom registration form and a category chooser fragment. I developed a custom SMS gateway to complete the registration form as well as the possibility to sign up with Facebook and Google +. Users can choose to book offers or not.</p> | ||
|
||
|
||
<b>Dimmi (Data Management)</b> | ||
<p>Application front end in Android to let the client of DataManagement SPA (my permanent work) open remotely trouble ticketing to corporate company system. The app let the user authenticate by means of REST session-driven call to DataManagement server (LDAP). Then user can choose for which environment (JSON response) he can open ticket to. For user and superuser the entry form are different. Had to make a full reverse engineering of the Java corporate web application to be able to build servlet for webservices, guiding all the ticketing opening processes from app.</p> | ||
|
||
|
||
|
||
<b>MakeMyApp (Origami)</b> | ||
<p>Porting of MakeMyApp corporate Origami project written in Objective-C, to Android Java native code | ||
The application completed the suite of Origami to sell low cost native app, backed by custom-client back-end. The application followed Origami REST call specifications and presented to user a news area with a detail fragment (and a possibility to choose from multi-store location), a photogallery with pinch to zoom, a map with GPS routing and a contact area</p> | ||
|
||
|
||
|
||
<b>Rimini Tutto L'anno (Origami)</b> | ||
<p>Porting of the corporate Origami project written in Objective-C, to Android Java native code | ||
Application for a city guide of Rimini town with galleries, geolocation of monuments and historical information</p> | ||
|
||
|
||
|
||
<b>Other non-Android works and experiences</b> | ||
<ul> | ||
<li>Analisys and fully engineering and development of an Italian announcements site http://www.24oreannunci.it</li> | ||
<li>Developed a commercial digital signage touch framework web-based (jquery + perl webservices + mysql) full open source</li> | ||
<li>Developed the full back-office suite for www.expofiere.net including website, email tracking and marketing sales manager software </li> | ||
<li>Developed perl custom screen scraping tools to automatically collect data</li> | ||
<li>Development a custom-made perl+mysql platform form marketing mailing list management</li> | ||
<li>Development of web-based software (perl+mysql) for automatic checking accessibility and usability of governmental websites, according to W3C Rules.</li> | ||
<li>Developed a series of user manuals on WEB CD-ROM and custom perl ERP-like for orders-suppliers (perl + mysql) </li> | ||
</ul> | ||
|
||
|
||
|
||
</body> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package app.go.search; | ||
|
||
import android.app.Application; | ||
|
||
import rx.Scheduler; | ||
import rx.schedulers.Schedulers; | ||
|
||
public class FilmApplication extends Application { | ||
|
||
|
||
|
||
private Scheduler defaultSubscribeScheduler; | ||
|
||
public Scheduler defaultSubscribeScheduler() { | ||
if (defaultSubscribeScheduler == null) { | ||
defaultSubscribeScheduler = Schedulers.io(); | ||
} | ||
return defaultSubscribeScheduler; | ||
} | ||
|
||
|
||
|
||
|
||
|
||
} |
Oops, something went wrong.