GoWifi
GoWifi
O que você acha de ser um desbravador?, descobrir novas redes wifi por ae e se tornar um desbravador lendário, assim ajudando a outras pessoas a não ficarem sem internet.
Como Funciona o Web socket Dele??
HTTP: Rest
JSON
Volley
Volley is an HTTP library that makes networking for Android apps easier and most importantly, faster
Fazendo chamada ao servidor
public class CustomJsonObjectRequest extends JsonObjectRequest{
private static RequestQueue mQueue;
private final static String TAG_REQUEST = "Locations";
private static String response;
private static Context context;
public static final String URI_API = "http://314.bl.ee/api.php";
private CustomJsonObjectRequest(int method, String url, JSONObject jsonRequest, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener) {
super(method, url, jsonRequest, listener, errorListener);
super.setTag(TAG_REQUEST);
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-type", "application/json; charset-utf-8");
return super.getHeaders();
}
public static void send(Context context, int method, String url){
CustomJsonObjectRequest.context = context;
CustomJsonObjectRequest.db = new DB(context);
mQueue = CustomVolleyRequestQueue.getInstance(context.getApplicationContext()).getRequestQueue();
if(params == null){
params = "?c="+db.getCountLines();
}
mQueue.add(new CustomJsonObjectRequest(method, url+params, new JSONObject(), new EventJSON(), new EventJSON()));
}
Recebendo resposta
private static class EventJSON implements Response.Listener, Response.ErrorListener{
@Override
public void onErrorResponse(VolleyError error) {
CustomJsonObjectRequest.error = error.getMessage();
}
@Override
public void onResponse(Object response) {
try {
JSONObject json = new JSONObject(response.toString());
// verifica o status caso seja atualizar ele vai ler um outro campo que vai ser
//enviado com os dados para ser jogado no banco de dados local
if(json.getString("status").equals("atualizar")){
JSONArray array = (JSONArray) json.get("data");
//gravando no banco local as novas localizações
for (int i = 0; i < array.length(); i++) {
db.setData(array.getJSONObject(i).getString("ssid"),
array.getJSONObject(i).getString("password"),
Double.parseDouble(array.getJSONObject(i).getString("latitude")),
Double.parseDouble(array.getJSONObject(i).getString("longitude")));
}
Intent it = new Intent(context, MapsActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, it, PendingIntent.FLAG_UPDATE_CURRENT);
Notification.create(context, "Ei, Tenho novidades!!", "Acabei de saber que tem novas redes wifi descobertas.", pendingIntent);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
Testes
http://314.bl.ee/api.php?la=-5.0937358&lg=-42.8111187&ssid=killlakill&pw=teste
Questions?
deck
By Joeverson Santos
deck
- 220