В onClick добавить это:
Geocoder gcd = new Geocoder(AndroidGPSTrackingActivity.this, Locale.getDefault());
List<Address> addresses = gcd.getFromLocation(latitude, longitude, 1);
if (addresses.size() > 0)
System.out.println(addresses.get(0).getLocality());
В этом примере я создал файл Flash с кнопкой на рабочей области. Когда вы нажимаете эту кнопку, Flash отправляет изображение кнопки в файл ASPX, который сохраняет его как JPEG. Как вы увидите, это делается путем рисования DisplayObject
в объекте BitmapData
, и поэтому вы можете легко заменить ссылку на кнопку чем-либо, унаследованным от DisplayObject.
(включая фрагмент ролика, содержащий холст для приложения рисования и т. Д.).
Сначала я проведу вас через элемент Flash, а затем через серверную часть .NET.
Flash
Чтобы отправить сгенерированный подобный образ из Flash в ASP.NET (или любой другой бэкэнд) вам понадобится пара сторонних библиотек. Нам понадобится кодировщик JPEG (которого нет во Flash, но в последних версиях Flex есть), которую мы можем получить из библиотеки ядра AS3 http://code.google.com/p/as3corelib/ . Нам также понадобится кодировщик base64 для отправки данных по сети. Я воспользуюсь одним из Dynamic Flash, доступным по адресу http://dynamicflash.com/goodies/base64/ .
Загрузите их и извлеките в удобное место на жестком диске (например, в папку C: \ lib).
Я создал новый файл AS3 Flash и сохранил его как uploader.fla . Я добавил компонент кнопки на сцену и назвал его btnUpload . Затем я отредактировал настройки ActionScript и добавил свою папку c: \ lib в путь к классам. Затем я присвоил документу имя класса Uploader и сохранил файл.
Затем я создал файл ActionScript и добавил к нему следующий код: Этот код предполагает, что вы хотите загрузить jpeg с качеством 100% и что сценарий, который будет получать данные, называется upload.aspx и находится в корне сайта.
ASP.NET
В корне моего веб-сайта я создал веб-форму с именем upload.aspx. В файле .aspx я удалил все содержимое, кроме директивы page. Его содержимое выглядит следующим образом:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="upload.aspx.cs" Inherits="upload" %>
Затем в CodeBehind я добавил следующее:
using System;
using System.IO;
public partial class upload : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Get the data from the POST array
string data = Request.Form["imageData"];
// Decode the bytes from the Base64 string
byte[] bytes = Convert.FromBase64String(data);
// Write the jpeg to disk
string path = Server.MapPath("~/save.jpg");
File.WriteAllBytes(path, bytes);
// Clear the response and send a Flash variable back to the URL Loader
Response.Clear();
Response.ContentType = "text/plain";
Response.Write("ok=ok");
}
}
Очевидно, существуют жестко запрограммированные значения, такие как путь сохранения, но из этого вы сможете создать любую систему, которая вам нужна.
Если вам нужно манипулировать изображением, если вы можете получить байт [] или поток POST-файла, вы можете создать его изображение, например
MemoryStream mstr = new MemoryStream(myByteArray);
Image myImage = Image.FromStream(mstr);
Попросите его опубликовать файлы как стандартную HTML-форму. Вы можете получить доступ к этим файлам в событии Page_Load страницы, на которую он отправляет сообщение, используя следующую коллекцию
Request.Files
Это вернет коллекцию HttpPostedFiles точно так же, как это делает элемент управления FileUpload.