<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-3823206117807081130</id><updated>2020-10-04T05:06:11.982+06:00</updated><category term="Development" /><category term="настройка Blogger" /><category term="Android" /><category term="Unity3d" /><category term="Программирование под Android" /><category term="Blender" /><category term="C#" /><category term="GIMP" /><category term="мотивация" /><category term="музыка" /><title type="text">PROGMANIST</title><subtitle type="html">Данный блог посвящен программированию и всему что связано с программированием.</subtitle><link rel="alternate" type="text/html" href="http://progmanist.blogspot.com/" /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/GXCEG" /><feedburner:info uri="blogspot/gxceg" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-1542220289729936417</id><published>2014-08-22T18:31:00.001+07:00</published><updated>2014-08-22T18:31:49.714+07:00</updated><title type="text"> AppCent - cайт для заработка денег путем установок приложений на Android, iOS. </title><content type="html">&lt;br&gt;ссылка: &lt;a href="http://appcent.ru/?partner=4jjf92"/&gt; AppCent &lt;/a&gt; &lt;/br&gt; После регистрации, в личном аккаунте на вкладке "Приложения" отображается список приложений и сумма денег, которые будут зачислены на счет после установки приложения.  &lt;span id="fullpost"&gt; То, что скрыто под катом  &lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/h5aN3-KsVg0" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/1542220289729936417/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2014/08/appcent-c-android-ios.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/1542220289729936417" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/1542220289729936417" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/h5aN3-KsVg0/appcent-c-android-ios.html" title=" AppCent - cайт для заработка денег путем установок приложений на Android, iOS. " /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2014/08/appcent-c-android-ios.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-5682834401305179986</id><published>2013-05-07T20:25:00.000+07:00</published><updated>2014-12-19T02:08:52.689+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title type="text">C# Создание Windows Service</title><content type="html">C# Создание Windows Service  &lt;span id="fullpost"&gt; &lt;script type="text/javascript"&gt;  function gaLogEvent(category, action, label, value, noninteract)   {      _gaq.push(['_trackEvent', category, action,       label, value, noninteract]);   }   &lt;/script&gt; &lt;br&gt;Для создания сервиса использовалась среда Visual Studio 2010.&lt;/br&gt; 1. Откройте студию и создайте новый проект   &lt;img border="0" height="320" width="480" src="http://i1206.photobucket.com/albums/bb460/alukardev/c%20sharp%20Windows%20Service/1-1.png"  /&gt;  &lt;br/&gt;2. Для того чтобы службу можно было установить необходимо добавить в проект installer. &lt;br/&gt;В Sulution Explorer дважды щелкните по классу "Service1.cs", в появившемся окне щелкните правой кнопкой мыши и выберите "Add Installer". Появится новый класс "ProjectInstaller.cs" с двумя компонентами: "serviceProcessInstaller" и "serviceInstaller". &lt;br&gt;Установите свойства этих компонентов как показано на рисунках: &lt;br&gt;&lt;br&gt;serviceProcessInstaller  &lt;img border="0" height="320" width="480" src = "http://i1206.photobucket.com/albums/bb460/alukardev/BloggerEdit/2.png"  /&gt;&lt;br&gt;&lt;br&gt;serviceInstaller  &lt;img border="0" height="320" width="480" src = "http://i1206.photobucket.com/albums/bb460/alukardev/BloggerEdit/3.png"  /&gt; &lt;b3&gt; 3. Откройте код файла "Service1.cs". Здесь мы видим два метода "OnStart" и "OnStop" которые срабатывают при запуске и остановке сервиса соответственно. &lt;br&gt;Допустим нам необходимо чтобы наш сервис каждую секунду записывал строку в файл. &lt;br&gt;Для этого создадим отдельный поток который будет запускаться при старте сервиса в методе "OnStart". В данном котором будем производить запись в файл:  &lt;pre class="brush:xml"&gt;private readonly Thread workerThread;&lt;br /&gt;        public Service1()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;&lt;br /&gt;            workerThread = new Thread(DoWork);&lt;br /&gt;            workerThread.SetApartmentState(ApartmentState.STA);&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;&lt;br&gt; В методе "DoWork" реализуем запись в файл: &lt;pre class="brush:xml"&gt;  private static void DoWork()&lt;br /&gt;        {&lt;br /&gt;            while (true)&lt;br /&gt;            {&lt;br /&gt;                string fname = @"c:\temp\temp.txt";&lt;br /&gt;                using (StreamWriter stream = new StreamWriter(fname, true))&lt;br /&gt;                {&lt;br /&gt;                   stream.WriteLine("Hello World!");&lt;br /&gt;                }&lt;br /&gt;                // do some work, then&lt;br /&gt;                Thread.Sleep(1000);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt; &lt;br&gt; Теперь при старте сервера будем запускать поток, а при остановке сервера - останавливать поток:  &lt;pre class="brush:xml"&gt;        protected override void OnStart(string[] args)&lt;br /&gt;        {&lt;br /&gt;            workerThread.Start();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void OnStop()&lt;br /&gt;        {&lt;br /&gt;            workerThread.Abort();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt; &lt;br&gt; Добавим также метод который будет записывать в лог нашего сервиса события запуска и остановки сервера: &lt;pre class="brush:xml"&gt;           public void AddLog(string log)&lt;br /&gt;        {&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                if (!EventLog.SourceExists("MyExampleService"))&lt;br /&gt;                {&lt;br /&gt;                    EventLog.CreateEventSource("MyExampleService", "MyExampleService");&lt;br /&gt;                }&lt;br /&gt;                eventLog1.Source = "MyExampleService";&lt;br /&gt;                eventLog1.WriteEntry(log);&lt;br /&gt;            }&lt;br /&gt;            catch { }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt; &lt;br&gt; И будем вызывать его при запуске и остановке сервера. &lt;br&gt; Полностью код будет выглядеть следующим образом  &lt;pre class="brush:xml"&gt;          &lt;br /&gt;   public partial class Service1 : ServiceBase&lt;br /&gt;    {&lt;br /&gt;        private readonly Thread workerThread;&lt;br /&gt;&lt;br /&gt;        public Service1()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;&lt;br /&gt;            workerThread = new Thread(DoWork);&lt;br /&gt;            workerThread.SetApartmentState(ApartmentState.STA);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void OnStart(string[] args)&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;            AddLog("Service is started");&lt;br /&gt;            string fname = @"c:\temp\temp.txt";&lt;br /&gt;            using (StreamWriter stream = new StreamWriter(fname, true))&lt;br /&gt;            {&lt;br /&gt;                stream.WriteLine("Служба запущена!");&lt;br /&gt;            }&lt;br /&gt;            workerThread.Start();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void OnStop()&lt;br /&gt;        {&lt;br /&gt;            AddLog("Service is stopped");&lt;br /&gt;            string fname = @"c:\temp\temp.txt";&lt;br /&gt;            using (StreamWriter stream = new StreamWriter(fname, true))&lt;br /&gt;            {&lt;br /&gt;                stream.WriteLine("Служба остановлена!");&lt;br /&gt;            }&lt;br /&gt;            workerThread.Abort();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public void AddLog(string log)&lt;br /&gt;        {&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                if (!EventLog.SourceExists("MyExampleService"))&lt;br /&gt;                {&lt;br /&gt;                    EventLog.CreateEventSource("MyExampleService", "MyExampleService");&lt;br /&gt;                }&lt;br /&gt;                eventLog1.Source = "MyExampleService";&lt;br /&gt;                eventLog1.WriteEntry(log);&lt;br /&gt;            }&lt;br /&gt;            catch { }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        private static void DoWork()&lt;br /&gt;        {&lt;br /&gt;            while (true)&lt;br /&gt;            {&lt;br /&gt;                string fname = @"c:\temp\temp.txt";&lt;br /&gt;                using (StreamWriter stream = new StreamWriter(fname, true))&lt;br /&gt;                {&lt;br /&gt;                   stream.WriteLine("Hello World!");&lt;br /&gt;                }&lt;br /&gt;                // do some work, then&lt;br /&gt;                Thread.Sleep(1000);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    &lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt; &lt;br&gt; После того как сервис создан, его необходимо установить. В этом нам поможет утилита "installutil.exe", которая распространяется вместе с фраемворком. &lt;br&gt; Создайте батник со следующим содержимым &lt;pre class="brush:xml"&gt;    &lt;br /&gt;C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe E:\MyProjects\test\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe &lt;br /&gt;pause&lt;br /&gt;&lt;/pre&gt; &lt;br&gt; здесь запускается утилита "installutil.exe", которой в качестве указывается наш сервис &lt;br&gt;запустите созданный батник из командной строки &lt;br&gt;если установка сервиса прошла успешно вы увидите сообщения:  &lt;br&gt;"The Commit phase completed successfully". &lt;br&gt;"The transacted install has completed" &lt;br&gt;&lt;br&gt;Теперь можно запустить наш сервер и посмотреть результат его выполнения &lt;br&gt;Зайдите в "Панель управления -&gt; Администрирование -&gt; Службы". Найдите установленную вами службу и запустите её  &lt;img border="0" height="320" width="480" src = "http://i1206.photobucket.com/albums/bb460/alukardev/BloggerEdit/4.png"  /&gt; &lt;br&gt; Теперь можно открыть созданный файл и посмотреть результат работы нашей службы  &lt;img border="0" height="320" width="480" src = "http://i1206.photobucket.com/albums/bb460/alukardev/BloggerEdit/5.png"  /&gt; &lt;br&gt; Как видно служба прекрасно отрабатывает  &lt;br&gt; Теперь остановите службу. &lt;br&gt; Также в логе службы мы можем просмотреть когда наша служба запускалась и останавливалась &lt;br&gt; Зайдите в  "Панель управления -&gt; Администрирование -&gt; Просмотр событий -&gt; Журнал приложений и служб". &lt;br&gt; Здесь мы можем увидеть когда наша служба запускалась и останавливалась  &lt;img border="0" height="320" width="480" src = "http://i1206.photobucket.com/albums/bb460/alukardev/BloggerEdit/6.png"  /&gt;   &lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/QZzZ70_fRA4" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/5682834401305179986/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2013/05/c-windows-service.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/5682834401305179986" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/5682834401305179986" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/QZzZ70_fRA4/c-windows-service.html" title="C# Создание Windows Service" /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i1206.photobucket.com/albums/bb460/alukardev/c%20sharp%20Windows%20Service/th_1-1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2013/05/c-windows-service.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-7911197195649059206</id><published>2012-03-12T13:54:00.000+07:00</published><updated>2013-05-07T18:48:42.071+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blender" /><category scheme="http://www.blogger.com/atom/ns#" term="Development" /><category scheme="http://www.blogger.com/atom/ns#" term="GIMP" /><category scheme="http://www.blogger.com/atom/ns#" term="Unity3d" /><title type="text">Unity3d + Blender + GIMP - создание анимации с помощью спрайтов.</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="text-indent: 35.4pt;"&gt;Для создания анимации с помощью спрайтов я использовал метод создания 3&lt;span lang="EN-US"&gt;d&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;модели и рендеринга её в различных положениях. Для этого я использовал следующие программы: &lt;a href="http://www.blender.org/download/get-blender/"&gt;&lt;span lang="EN-US"&gt;Blender&lt;/span&gt; 2.6&lt;/a&gt;, &lt;a href="http://www.gimp.org/downloads/"&gt;&lt;span lang="EN-US"&gt;GIMP&lt;/span&gt; 2.6&lt;/a&gt;,&lt;a href="http://registry.gimp.org/node/20943"&gt; плагин &amp;nbsp;для &lt;span lang="EN-US"&gt;GIMP&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;(для создания спрайтов)&lt;/a&gt; и &lt;a href="http://unity3d.com/unity/download/"&gt;&lt;span lang="EN-US"&gt;Unity&lt;/span&gt;3&lt;span lang="EN-US"&gt;d&lt;/span&gt; 3.5&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt; &lt;span id="fullpost"&gt; &lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;span lang="EN-US"&gt;&lt;span style="color: #e69138; font-size: x-large;"&gt;&lt;b&gt;Blender.&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Сделаем анимацию простого куба. Запускаем &lt;span lang="EN-US"&gt;Blender, &lt;/span&gt;создаем куб&lt;span lang="EN-US"&gt;: &lt;b&gt;Shift+A -&amp;gt; Mesh-&amp;gt;Cube.&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Настраиваем камеру чтобы она смотрела на куб. Нажимаем&lt;b&gt; &lt;span lang="EN-US"&gt;F&lt;/span&gt;12&lt;/b&gt;, ждем пока рисунок отрендерится, потом жмем&lt;b&gt; &lt;span lang="EN-US"&gt;F&lt;/span&gt;3&lt;/b&gt;. Во вкладке &lt;b&gt;&lt;span lang="EN-US"&gt;Save&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;as&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Image&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;выбираем&lt;b&gt; &lt;span lang="EN-US"&gt;PNG&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;и &lt;span lang="EN-US"&gt;RGBA&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;/b&gt;(чтоб фон был прозрачным). Называем рисунок &lt;b&gt;&lt;span style="color: red;"&gt;1.&lt;span lang="EN-US"&gt;png&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;. &amp;nbsp;Потом нажимаем &lt;span lang="EN-US"&gt;&lt;b&gt;Esc&lt;/b&gt;&lt;/span&gt;. Поднимем немного куб, опять рендер и сохранение. &amp;nbsp;Называем рисунок&lt;b&gt;&lt;span style="color: red;"&gt; 2.&lt;span lang="EN-US"&gt;png&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;. Проделайте так несколько раз.&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;span lang="EN-US"&gt;&lt;b&gt;&lt;span style="color: #e69138; font-size: x-large;"&gt;GIMP.&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Теперь когда у нас готовы рисунки, нужно их склеить в один спрайт. Для этого сначала нужно установить плагин в &lt;span lang="EN-US"&gt;GIMP&lt;/span&gt;. Переходим по&lt;a href="http://registry.gimp.org/node/20943"&gt; ссылке&lt;/a&gt; скачиваем плагин, кладем его в директорию&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt; &lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; line-height: 115%;"&gt;&lt;b&gt;{GIMPHOME}\share\gimp\2.0\scripts\SpriteSheet.scm&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;Запускаем&lt;b&gt; &lt;span lang="EN-US"&gt;GIMP&lt;/span&gt;&lt;/b&gt;, жмем &lt;b&gt;Фильтры – &lt;span lang="EN-US"&gt;Scripts&lt;/span&gt;-&lt;span lang="EN-US"&gt;Fu&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;– обновить сценарии&lt;/b&gt;. Плагин установлен. Теперь&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: #494949; font-family: 'Courier New'; font-size: 9pt; line-height: 115%;"&gt; &lt;/span&gt;жмем&lt;b&gt; Фаил – Открыть как слои&lt;/b&gt;, и выбираем наша рисунки, жмем &lt;b&gt;Фильтры – &lt;span lang="EN-US"&gt;Sprite&lt;/span&gt;-&lt;span lang="EN-US"&gt;Sheets&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;– &lt;span lang="EN-US"&gt;Create&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;from&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;layers&lt;/span&gt;. &lt;/b&gt;У вас появиться спрайт. Сохраняем его, жмем в появившемся окне &lt;b&gt;Фаил – Сохранить как…&lt;/b&gt; , открываем вкладку&lt;b&gt;&amp;nbsp;Выберите&amp;nbsp;тип файла (по расширениею)&lt;/b&gt; и выбираем там &lt;span lang="EN-US"&gt;&lt;b&gt;PNG&lt;/b&gt;&lt;/span&gt;, жмем &lt;b&gt;сохранить&lt;/b&gt; потом ещё раз жмем &lt;b&gt;сохранить&lt;/b&gt;. Всё спрайт готов, осталось загрузить его в &lt;span lang="EN-US"&gt;Unity&lt;/span&gt;3&lt;span lang="EN-US"&gt;d&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;и анимировать.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;span lang="EN-US"&gt;&lt;b&gt;&lt;span style="color: #e69138; font-size: x-large;"&gt;Unity3d.&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Создаем&lt;b&gt; &lt;span lang="EN-US"&gt;Plane&lt;/span&gt;&lt;/b&gt;. Поворачиваем его лицом к камере, не забудьте добавить источник света. Добавляем наш спрайт в проект, создаем новый материал, в качестве текстуры указываем наш спрайт. Выберите &lt;b&gt;&lt;span lang="EN-US"&gt;Shader&lt;/span&gt;: &lt;span lang="EN-US"&gt;Transparent&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;– &lt;span lang="EN-US"&gt;Diffuse&lt;/span&gt;&lt;/b&gt;, чтобы фон был прозрачным. Примените данный материал к созданному&lt;b&gt; &lt;span lang="EN-US"&gt;Plane&lt;/span&gt;.&lt;/b&gt; Теперь осталось анимировать его, делать мы это будем с помошью&lt;a href="http://www.unifycommunity.com/wiki/index.php?title=Animating_Tiled_texture_-_Extended"&gt; вот этого скрипта&lt;/a&gt; &amp;nbsp;Добавьте этот скрипт к&lt;b&gt; Plane&lt;/b&gt;,&amp;nbsp; и установите нужные настройки в скрипте.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Анимация готова! Можете запустить проект и любоваться.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/8EVE4xS_MZc" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/7911197195649059206/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2012/03/unity3d-blender-jimp.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/7911197195649059206" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/7911197195649059206" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/8EVE4xS_MZc/unity3d-blender-jimp.html" title="Unity3d + Blender + GIMP - создание анимации с помощью спрайтов." /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2012/03/unity3d-blender-jimp.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-2002880796571112444</id><published>2012-03-10T17:58:00.000+07:00</published><updated>2012-03-10T20:43:02.276+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blender" /><title type="text">Blender 2.6 Hot Key (горячие клавиши).</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-large;"&gt;&lt;b style="background-color: white; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #e69138;"&gt;Горячие клавиши Blender 2.6&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #e69138;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: #e69138;"&gt;&amp;nbsp; &amp;nbsp;&lt;span style="font-size: large;"&gt; &amp;nbsp;&lt;span style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span style="line-height: 18px;"&gt;&lt;b&gt;Общие:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp; &lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;&lt;b&gt;&amp;nbsp;F12&lt;/b&gt; – рендер изображения.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&amp;nbsp;F1&lt;/b&gt; – открыть файл.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&amp;nbsp;F2 &lt;/b&gt;– сохранить файл.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&amp;nbsp;Space&lt;/b&gt; – вызывает меню поиска по командам Blender.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&amp;nbsp;Shift + F&lt;/b&gt; – режим полета камеры.&lt;/li&gt;&lt;li&gt;&amp;nbsp;&lt;b&gt;Shift + Space&lt;/b&gt; – полноэкранный режим просмотра.&lt;/li&gt;&lt;/ol&gt;&lt;span id="fullpost"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span id="fullpost"&gt;&lt;b style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;span style="color: #e69138; font-size: large;"&gt;Перемещение в пространстве:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;&lt;b&gt;Клавиши на дополнительной цифровой клавиатуре: 1,3,7&lt;/b&gt; – вид спереди, справа и сверху соответственно. &lt;b&gt;0–&lt;/b&gt; вид из камеры,&lt;b&gt;  .(точка)&lt;/b&gt; – сфокусироваться на объекте. &lt;b&gt;5 –&lt;/b&gt; переключение между ортогональным и перспективным отображением. &lt;b&gt;2,8,4,6 –&lt;/b&gt; вращение  – вниз, вверх, влево и вправо соответственно. &lt;b&gt;+, -  -&lt;/b&gt; масштабирование.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ctrl + 1,3,7 &lt;/b&gt; – вид сзади, слева, снизу. &lt;b&gt;Ctrl + 2,8,4,6&lt;/b&gt; – перемещение вниз, вверх, влево и вправо. &lt;b&gt;Ctrl + 5 &lt;/b&gt;–сфокусироваться на курсоре.&lt;/li&gt;&lt;li&gt;&lt;b&gt;ЛКМ&lt;/b&gt; – перемещение курсора. Курсор определяет место, где будет создаваться новый объект.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;b&gt;ПКМ&lt;/b&gt; – щелчок правой кнопкой мыши объекту выделяет этот объект (в объектном режиме).&lt;/li&gt;&lt;li&gt;&lt;b&gt;Зажатое среднее колесо мыши + перемещение мыши&lt;/b&gt; – вращение вокруг сцены.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Зажатое среднее колесо мыши + Shift + перемещение мыши&lt;/b&gt; – передвижение.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Зажатое среднее колесо мыши + Ctrl + перемещение мыши&lt;/b&gt; – масштабирование.&lt;/li&gt;&lt;li&gt;&lt;b&gt;T &lt;/b&gt;– открытие панели инструментов.&lt;/li&gt;&lt;li&gt;&lt;b&gt;N&lt;/b&gt; – открытие панели трансформации.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Tab&lt;/b&gt; – переход между объектным режимом&lt;b&gt;(Object Mode)&lt;/b&gt; и режимом редактирования &lt;b&gt;(Edit Mode).&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span id="fullpost" style="font-size: large;"&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&lt;/span&gt;&lt;b style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;span style="color: #e69138;"&gt;Объектный режим (Object Mode):&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span id="fullpost"&gt;&lt;span id="fullpost"&gt;&lt;b&gt;Объектный режим предназначен для изменения объекта в целом.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol style="text-align: left;"&gt;&lt;span id="fullpost"&gt;&lt;li&gt;&lt;b&gt;Shift + A&lt;/b&gt; – вызов меню добавления объектов.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Shift + S &lt;/b&gt;– вызов меню точного расположения курсора.&lt;i&gt; (and Edit Mode)&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;R &lt;/b&gt;– вращение объекта (если нажать х или у или z вращение будет происходить вокруг соответствующей оси). &lt;i&gt;(and Edit Mode)&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;G&lt;/b&gt; – перемещение объекта (если нажать х или у или z перемещение будет происходить относительно соответствующей оси). &lt;i&gt;(and Edit Mode)&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;S&lt;/b&gt; – масштабирование (если нажать х или у или z масштабирование будет происходить относительно соответствующей оси).&lt;i&gt;  (and Edit Mode)&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Shift+D&lt;/b&gt; – создание копии объекта.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Del или X &lt;/b&gt;– удаление выделенного объекта.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Z&lt;/b&gt; – переход между заполненным и каркасным видом отображения объекта&lt;i&gt; (and Edit Mode).&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Alt + Z&lt;/b&gt; – переход между текстурированным и затененным видами объектов.&lt;i&gt; (and Edit Mode).&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ctrl + Z&lt;/b&gt; – отмена последнего действия.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ctrl + Shift + Z –&lt;/b&gt; повторить последнее отмененное действие.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ctrl+J &lt;/b&gt;– объединение выделенных объектов.&lt;/li&gt;&lt;li&gt;&lt;b&gt;M &lt;/b&gt;– перемещение выделенных объектов в другие слои.&lt;/li&gt;&lt;li&gt;&lt;b&gt;[~] &lt;/b&gt;– объединение всех слоев.&lt;/li&gt;&lt;/span&gt;&lt;/ol&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span id="fullpost"&gt;&lt;span style="color: #e69138; font-size: large;"&gt;&lt;span id="fullpost"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;Режим редактирования (Edit Mode):&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span id="fullpost"&gt;&lt;span id="fullpost"&gt;&lt;b&gt;&amp;nbsp;Режим редактирования предназначен для изменения формы объекта.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol style="text-align: left;"&gt;&lt;span id="fullpost"&gt;&lt;li&gt;&lt;b&gt;Shift + A&lt;/b&gt; – вызов меню добавления объектов (добавленный объект будет объединён с текущим объектом).&lt;/li&gt;&lt;li&gt;&lt;b&gt;Shift+D&lt;/b&gt; – создание копии объекта (скопированный объект будет объединен с исходным).&lt;/li&gt;&lt;li&gt;&lt;b&gt;ПКМ &lt;/b&gt;– выделение вершин,  ребер или граней.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ctrl+Tab&lt;/b&gt; – изменения режима выделения(вершины, грани, ребра).&lt;/li&gt;&lt;li&gt;&lt;b&gt;ПКМ + Shift &lt;/b&gt;– выделение нескольких вершин, граней, ребер.&lt;/li&gt;&lt;li&gt;&lt;b&gt;B &lt;/b&gt;– выделение прямоугольником.&lt;/li&gt;&lt;li&gt;&lt;b&gt;С&lt;/b&gt; – выделение окружностью. (с помощью колесика мыши или кнопок +, -, можно менять размер окружности).&lt;/li&gt;&lt;li&gt;&lt;b&gt;A&lt;/b&gt; – выделение всех вершин. (повторное нажатие – снятие выделения).&lt;/li&gt;&lt;li&gt;&lt;b&gt;E&lt;/b&gt; – экструдирование выделенных вершин, можно перемещать +G, вращать +R, масштабировать +Z.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Esc&lt;/b&gt; – отменяет работу с текущим инструментом выделения.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Del или X&lt;/b&gt; – вызов контекстного меню выбора удаляемых объектов.&lt;/li&gt;&lt;li&gt;&lt;b&gt;W&lt;/b&gt; – вызывает меню “Specials” со специфичными для данного объекта параметрами преобразования.&lt;/li&gt;&lt;li&gt;&lt;b&gt;K&lt;/b&gt; – инструмент разрезания граней. Щелкайте ЛКМ в нужном месте грани чтобы разрезать её. Если нажать&lt;b&gt;Ctrl &lt;/b&gt;– курсор будет расположен по середине грани.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ctrl+R&lt;/b&gt; – режим разрезания граней.&lt;/li&gt;&lt;li&gt;&lt;b&gt;P&lt;/b&gt; – отделить выделенные вершины от остального объекта. (или объединить в один объект выделенные вершины).&lt;/li&gt;&lt;li&gt;&lt;b&gt;F &lt;/b&gt;– создает грань между выделенными вершинами.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ctrl+F&lt;/b&gt; – открывает меню граней, для доступа к дополнительным параметрам граней.&lt;/li&gt;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;span id="fullpost"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/tAbYccJfGeU" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/2002880796571112444/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2012/03/blender-26-hot-key.html#comment-form" title="Комментарии: 5" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/2002880796571112444" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/2002880796571112444" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/tAbYccJfGeU/blender-26-hot-key.html" title="Blender 2.6 Hot Key (горячие клавиши)." /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2012/03/blender-26-hot-key.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-8315294791193860983</id><published>2012-02-20T18:19:00.006+07:00</published><updated>2012-02-27T13:40:16.311+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Unity3d" /><title type="text">Unity3d. Сохранение результата в базу данных расположенную на сервере. Часть вторая - клиент.</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;И так мы создали базу данных, создали скрипт, который осуществляет соединение с базой и чтение-запись данных. Теперь нам необходимо соединиться из нашей игры с php&lt;b&gt;-&lt;/b&gt;скриптом, и получить из него данные, которые он получает с базы данных.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; Т.к. данные которые мы будем получать из php-скрита будут в &lt;b&gt;xml &lt;/b&gt;виде то первым делом создадим скрипт&lt;b&gt; XmlParser &lt;/b&gt;который будет осуществлять чтение xml-данных,  выбор из данных атрибутов&lt;b&gt; name&lt;/b&gt; и &lt;b&gt;score&lt;/b&gt;, и сохранять значения этих атрибутов в массивы &lt;b&gt;name[]&lt;/b&gt; и &lt;b&gt;score[].&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;span id="fullpost"&gt; &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:xml"&gt;using UnityEngine;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.Xml;&lt;br /&gt;&lt;br /&gt;public static class XmlParser &lt;br /&gt;{&lt;br /&gt;    private static XmlDocument doc;&lt;br /&gt;    private static XmlNode root;&lt;br /&gt;    private static string[] names; // массив имен&lt;br /&gt;    private static int[] scores; // массив результатов&lt;br /&gt;    private static int userLenght; // длинна массива&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public static void Parse(string xml)&lt;br /&gt;    {&lt;br /&gt;        doc = new XmlDocument();&lt;br /&gt;        doc.LoadXml(xml);&lt;br /&gt;&lt;br /&gt;        root = doc.LastChild;&lt;br /&gt;        if (root.HasChildNodes)&lt;br /&gt;        {&lt;br /&gt;            userLenght = root.ChildNodes.Count;&lt;br /&gt;            names = new string[userLenght];&lt;br /&gt;            scores = new int[userLenght];&lt;br /&gt;&lt;br /&gt;            for (int i = 0; i &amp;lt; userLenght; i++)&lt;br /&gt;            {&lt;br /&gt;                XmlAttribute nameAtt = root.ChildNodes[i].Attributes["name"];&lt;br /&gt;                XmlAttribute scoreAtt = root.ChildNodes[i].Attributes["score"];&lt;br /&gt;                names[i] = (string)nameAtt.Value;&lt;br /&gt;                scores[i] = ConvertStringToInt((string)scoreAtt.Value);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private static int ConvertStringToInt(string s)&lt;br /&gt;    {&lt;br /&gt;        int j;&lt;br /&gt;        bool result = System.Int32.TryParse(s, out j);&lt;br /&gt;        if (result = true)&lt;br /&gt;        {&lt;br /&gt;            return j;&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            Debug.Log("Error convert string to int");&lt;br /&gt;            return 0;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static string Name(int index)&lt;br /&gt;    {&lt;br /&gt;        return names[index];&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static int Score(int index)&lt;br /&gt;    {&lt;br /&gt;        return scores[index];&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static int UserLength()&lt;br /&gt;    {&lt;br /&gt;        return userLenght;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="fullpost"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Теперь создадим скрипт &lt;b&gt;ServerHiScore &lt;/b&gt;который будет осуществлять доступ к php-скрипту, получение и отправку данных из приложения на сервер.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre class="brush:xml"&gt;using UnityEngine;&lt;br /&gt;using System.Collections;&lt;br /&gt;&lt;br /&gt;public class ServerHiScore : MonoBehaviour &lt;br /&gt;{&lt;br /&gt;    //Set the PHP url here&lt;br /&gt;    public string PHPUrl = "http://yourDomainName.byethost15.com/HiScore.php"; // адрес скрипта&lt;br /&gt;    //Set the hash key id &lt;br /&gt;    public string hashKey = "BRIGHTWORLDGAMES"; // ключ для шифрования данных&lt;br /&gt;&lt;br /&gt;    private WWWForm obj_WWW;&lt;br /&gt;    private bool b_loaded;&lt;br /&gt;&lt;br /&gt;    private delegate void LoadXmlDel(string str);&lt;br /&gt;&lt;br /&gt; // Use this for initialization&lt;br /&gt; void Start () &lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; // Update is called once per frame&lt;br /&gt; void Update () &lt;br /&gt;    {&lt;br /&gt; &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;//Отправка данных&lt;br /&gt;public void SendScore( int score, string name)&lt;br /&gt;{&lt;br /&gt; WWWForm w_form = new WWWForm();&lt;br /&gt; //Telling PHP that the user is submiting the data&lt;br /&gt; w_form.AddField("action", "PostScore");&lt;br /&gt; //Sending hash code key to prevent unwanted user &lt;br /&gt; w_form.AddField("hash", MD5.Md5Sum(name + "-" + score.ToString() + "-" + hashKey)); //Encrypt with MD5&lt;br /&gt; //Sending the user score&lt;br /&gt; w_form.AddField("score", score);&lt;br /&gt; //Sending the user name&lt;br /&gt; w_form.AddField("name", name);&lt;br /&gt; //Start waiting for the response back from the server&lt;br /&gt; StartCoroutine(WaitingForResponse(new WWW(PHPUrl, w_form), null));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//&lt;br /&gt;public IEnumerator WaitingForResponse(WWW www, System.Func&lt;string, bool=""&gt; callback) &lt;br /&gt;{&lt;br /&gt;    yield return www; // ожидаем пока получим с сервера данные&lt;br /&gt; &lt;br /&gt; if (www.error == null) &lt;br /&gt;    {&lt;br /&gt; // Debug.Log("Successful.");&lt;br /&gt; }&lt;br /&gt;    else &lt;br /&gt;    {&lt;br /&gt; // Debug.Log("Failed.");&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; if (callback != null) {&lt;br /&gt;  callback(www.text);&lt;br /&gt;  callback = null;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; //Очищаем данные&lt;br /&gt; www.Dispose();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Получение данных&lt;br /&gt;public void GetScores() &lt;br /&gt;{&lt;br /&gt; b_loaded = false;&lt;br /&gt; WWWForm w_form = new WWWForm();&lt;br /&gt; //Telling PHP that the user is loading the data&lt;br /&gt; w_form.AddField("action", "GetScore");&lt;br /&gt; //Start waiting for the response back from the server&lt;br /&gt; StartCoroutine(WaitingForResponse(new WWW(PHPUrl, w_form), LoadXMLData));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//Parse the XML data from the server&lt;br /&gt;public bool LoadXMLData(string str)&lt;br /&gt;{&lt;br /&gt; XmlParser.Parse(str);&lt;br /&gt; b_loaded = true;&lt;br /&gt;    return true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Getting User length&lt;br /&gt;public int GetUserLength() &lt;br /&gt;{&lt;br /&gt;  return XmlParser.UserLength();&lt;br /&gt;}&lt;br /&gt;//Getting User Name by index&lt;br /&gt;public string GetNameData(int index)&lt;br /&gt;{&lt;br /&gt;  return XmlParser.Name(index);&lt;br /&gt;}&lt;br /&gt;//Getting User Score by index&lt;br /&gt;public int GetScoreData(int index)&lt;br /&gt;{&lt;br /&gt;  return XmlParser.Score(index);&lt;br /&gt;}&lt;br /&gt;//Loaded XML&lt;br /&gt;public bool IsLoaded()&lt;br /&gt;{&lt;br /&gt; return b_loaded;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="fullpost"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;При передаче данных, мы также передаем ключ в зашифрованном виде, чтобы никакие злоумышленники не могли записать свои данные на сервер, в php-скрипте мы проверяем совпадает ли ключ который храниться на сервере с ключом который мы передали, и записывает данные только если ключи совпадают.  При создании аккаунта на byethost у вас автоматически создается домен с названием как выше имя, &lt;b&gt;http://yourDomainName.byethost15.com/&lt;/b&gt;, где вместо byethost15 будет ваше название, посмотрите на панели слева в админке. Также вы всегда может создать другой домен, если этот вас не устраивает.&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="fullpost"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Теперь реализуем метод &lt;b&gt;MD5&lt;/b&gt;. Создайте js-скрипт с следующим содержанием:&lt;/span&gt;&lt;/div&gt;&lt;pre class="brush:xml"&gt;#pragma strict&lt;br /&gt;&lt;br /&gt;static function Md5Sum(strToEncrypt: String)&lt;br /&gt;{&lt;br /&gt;    var encoding = System.Text.UTF8Encoding();&lt;br /&gt;    var bytes = encoding.GetBytes(strToEncrypt);&lt;br /&gt; &lt;br /&gt;    // encrypt bytes&lt;br /&gt;    var md5 = System.Security.Cryptography.MD5CryptoServiceProvider();&lt;br /&gt;    var hashBytes:byte[] = md5.ComputeHash(bytes);&lt;br /&gt; &lt;br /&gt;    // Convert the encrypted bytes back to a string (base 16)&lt;br /&gt;    var hashString = "";&lt;br /&gt; &lt;br /&gt;    for (var i = 0; i &amp;lt; hashBytes.Length; i++)&lt;br /&gt;    {&lt;br /&gt;        hashString += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, "0"[0]);&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;    return hashString.PadLeft(32, "0"[0]);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="fullpost"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Т.к. это&lt;b&gt; js-скрипт&lt;/b&gt;, а мы используем его в &lt;b&gt;C#&lt;/b&gt; скрипте, то обязательно поместите скрипт &lt;b&gt;MD5 &lt;/b&gt;в папку &lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;Plugins&lt;/b&gt;&lt;/span&gt;, иначе компилятров &lt;b&gt;Unity3d&lt;/b&gt; будет выдавать вам ошибку.  На этом вобщем-то всё. Теперь вы можете просто вызывать методы &lt;b&gt;GetScores()&lt;/b&gt; и &lt;b&gt;SendScores()&lt;/b&gt; скрипта &lt;b&gt;ServerHiScore&lt;/b&gt;. Например у меня есть меню, в котором есть кнопка &lt;b&gt;HiScore&lt;/b&gt;, при нажатии на которую&amp;nbsp;появляется&amp;nbsp;окно с результатами, тогда получать данные я буду следующим образом:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre class="brush:xml"&gt;using UnityEngine;&lt;br /&gt;using System.Collections;&lt;br /&gt;&lt;br /&gt;public class Menu : MonoBehaviour &lt;br /&gt;{&lt;br /&gt;    public GUISkin customSkin;&lt;br /&gt;&lt;br /&gt;    enum Page {MENU, HOWTOPLAY, HISCORE, HISCOREMENU, EMPTY};&lt;br /&gt;    private Page page;&lt;br /&gt;    private Vector2 scrollPosition = Vector2.zero;&lt;br /&gt;    private int maxUsers = 10;&lt;br /&gt;&lt;br /&gt;    private GameObject cloud;&lt;br /&gt;&lt;br /&gt;    private ServerHiScore objServerHighScore; // объявляем экземпляр класса ServerHiScore&lt;br /&gt;&lt;br /&gt;    void Awake()&lt;br /&gt;    {&lt;br /&gt;    &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; void Start ()  &lt;br /&gt;    {&lt;br /&gt;        Time.timeScale = 1f;&lt;br /&gt;&lt;br /&gt;        objServerHighScore = this.GetComponent&lt;serverhiscore&gt;();&lt;br /&gt;        page = Page.MENU;&lt;br /&gt;&lt;br /&gt;        cloud = GameObject.Find("HiScoreCloud");&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; void Update () &lt;br /&gt;    {&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;    void OnGUI()&lt;br /&gt;    {&lt;br /&gt;        GUI.skin = customSkin;&lt;br /&gt;&lt;br /&gt;        switch (page) &lt;br /&gt;        {&lt;br /&gt;            case Page.MENU:&lt;br /&gt;                MenuPage();&lt;br /&gt;                break;&lt;br /&gt;            case Page.HISCORE:&lt;br /&gt;                HiScorePage();&lt;br /&gt;                break;&lt;br /&gt;            case Page.EMPTY:&lt;br /&gt;                break;&lt;br /&gt;        };&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void MenuPage() &lt;br /&gt;    {&lt;br /&gt;        GUI.BeginGroup(new Rect(Screen.width / 1.2f - 125, Screen.height / 1.6f - 100, 250, 200));&lt;br /&gt;      &lt;br /&gt;        if (GUI.Button(new Rect(25, 20, 200, 30), "Start Game", GUI.skin.GetStyle("StartButton")))&lt;br /&gt;        {&lt;br /&gt;            Application.LoadLevel("MainScene");&lt;br /&gt;        }&lt;br /&gt;        if (GUI.Button(new Rect(10, 70, 220, 30), "How to Play", GUI.skin.GetStyle("HowToButton")))&lt;br /&gt;        {&lt;br /&gt;            StartCoroutine(ChangePage(Page.HOWTOPLAY)); &lt;br /&gt;        }&lt;br /&gt;        if (GUI.Button(new Rect(25, 120, 180, 30), "Hi-Score", GUI.skin.GetStyle("QuitButton")))&lt;br /&gt;        {&lt;br /&gt;            objServerHighScore.GetScores(); // если нажали кнопку Hi-Score вызываем метод для получения данных&lt;br /&gt;            StartCoroutine(ChangePage(Page.HISCORE));&lt;br /&gt;        }&lt;br /&gt;        GUI.EndGroup();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void HiScorePage() &lt;br /&gt;    {&lt;br /&gt;        GUI.BeginGroup(new Rect(Screen.width / 2f - 300, Screen.height / 2f - 210, 600, 420));&lt;br /&gt;        GUI.Label(new Rect(200, 50, 200, 50), "Top 10", GUI.skin.GetStyle("HiScoreLabelCenter"));&lt;br /&gt;        if (objServerHighScore.IsLoaded()) // если данные загружены&lt;br /&gt;        {&lt;br /&gt;            int numUsers = objServerHighScore.GetUserLength();&lt;br /&gt;            if (numUsers &amp;gt; maxUsers)&lt;br /&gt;                numUsers = maxUsers;&lt;br /&gt;&lt;br /&gt;            scrollPosition = GUI.BeginScrollView(new Rect(100, 110, 400, 180), scrollPosition,&lt;br /&gt;                                                 new Rect(0, 0, 250, 30 * numUsers));&lt;br /&gt;&lt;br /&gt;            for (int i = 0; i &amp;lt; numUsers; i++)&lt;br /&gt;            {&lt;br /&gt;                GUI.Label(new Rect(0, i * 30, 35, 30), (i + 1).ToString() + ". ", GUI.skin.GetStyle("HiScoreLabel"));&lt;br /&gt;                GUI.Label(new Rect(35, i * 30, 220, 30), objServerHighScore.GetNameData(i), GUI.skin.GetStyle("HiScoreLabel")); // получаем имя&lt;br /&gt;                GUI.Label(new Rect(255, i * 30, 145, 30), objServerHighScore.GetScoreData(i).ToString(), GUI.skin.GetStyle("HiScoreLabel")); // получаем очки&lt;br /&gt;            }&lt;br /&gt;            GUI.EndScrollView();&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            GUI.Label(new Rect(200, 200, 200, 30), "LOADING...", GUI.skin.GetStyle("HiScoreLabelCenter"));&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        if (GUI.Button(new Rect(210, 300, 180, 30), "Back", GUI.skin.GetStyle("ReplayButton"))) &lt;br /&gt;        {&lt;br /&gt;            StartCoroutine(ChangePage(Page.HISCOREMENU));&lt;br /&gt;        }&lt;br /&gt;        GUI.EndGroup();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    IEnumerator ChangePage(Page pageNum)&lt;br /&gt;    {&lt;br /&gt;        switch (pageNum)&lt;br /&gt;        {&lt;br /&gt;            case Page.HOWTOPLAY:&lt;br /&gt;                page = Page.EMPTY;&lt;br /&gt;                while ((transform.position - new Vector3(178f, transform.position.y, transform.position.z)).magnitude &amp;gt; 0.5f)&lt;br /&gt;                {&lt;br /&gt;                    transform.position = Vector3.Lerp(transform.position, new Vector3(178f, transform.position.y, transform.position.z), Time.deltaTime*3.0f);&lt;br /&gt;                    yield return new WaitForSeconds(0.01f);&lt;br /&gt;                }&lt;br /&gt;                page = Page.HOWTOPLAY;&lt;br /&gt;                break;&lt;br /&gt;            case Page.MENU:&lt;br /&gt;                page = Page.EMPTY;&lt;br /&gt;                while ((transform.position - new Vector3(0f, transform.position.y, transform.position.z)).magnitude &amp;gt; 0.5f)&lt;br /&gt;                {&lt;br /&gt;                    transform.position = Vector3.Lerp(transform.position, new Vector3(0f, transform.position.y, transform.position.z), Time.deltaTime*3.0f);&lt;br /&gt;                    yield return new WaitForSeconds(0.01f);&lt;br /&gt;                }&lt;br /&gt;                page = Page.MENU;&lt;br /&gt;                break;&lt;br /&gt;            case Page.HISCORE:&lt;br /&gt;                page = Page.EMPTY;&lt;br /&gt;                while (cloud.transform.position.y &amp;gt; 0.1f)&lt;br /&gt;                {  &lt;br /&gt;                    cloud.transform.position = Vector3.Lerp(cloud.transform.position, new Vector3(cloud.transform.position.x, 0f, cloud.transform.position.z), Time.deltaTime*3f);&lt;br /&gt;                    yield return new WaitForSeconds(0.01f);&lt;br /&gt;                }&lt;br /&gt;                page = Page.HISCORE;&lt;br /&gt;                break;&lt;br /&gt;            case Page.HISCOREMENU:&lt;br /&gt;                page = Page.EMPTY;&lt;br /&gt;                while (cloud.transform.position.y &amp;lt; 87.9f)&lt;br /&gt;                {&lt;br /&gt;                    cloud.transform.position = Vector3.Lerp(cloud.transform.position, new Vector3(cloud.transform.position.x, 88f, cloud.transform.position.z), Time.deltaTime * 3.0f);&lt;br /&gt;                    yield return new WaitForSeconds(0.01f);&lt;br /&gt;                }&lt;br /&gt;                page = Page.MENU;&lt;br /&gt;                break;&lt;br /&gt;        };&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;span id="fullpost"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Если же мне нужно сохранить данные на сервер, то я делаю следующим образом: &lt;br /&gt; &lt;pre class="brush:xml"&gt;private void SubmitDialog() &lt;br /&gt;    {&lt;br /&gt;        GUI.BeginGroup(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 140, 300, 280));&lt;br /&gt;        GUI.Box(new Rect(0, 0, 300, 280), "", GUI.skin.GetStyle("PauseBox"));&lt;br /&gt;        GUI.Label(new Rect(25, 10, 250, 50), "Submit Results", GUI.skin.GetStyle("LevelCompleteLabel"));&lt;br /&gt;        GUI.Label(new Rect(25, 60, 250, 50), "Your score: " + totalScore.ToString(), GUI.skin.GetStyle("LabelMidCenter"));&lt;br /&gt;        GUI.Label(new Rect(25, 90, 250, 50), "Enter your name:");&lt;br /&gt;        userName = GUI.TextField(new Rect(25, 140, 250, 45), userName, 20);&lt;br /&gt;        if (GUI.Button(new Rect(105, 200, 80, 24), "Submit", GUI.skin.GetStyle("NextLevelButton")))&lt;br /&gt;        {&lt;br /&gt;            submitResult = true;&lt;br /&gt;            //сохранение результата на сервер&lt;br /&gt;            objServerHighScore.SendScore(totalScore, userName);&lt;br /&gt;            dialog = previousDialog;&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;        if (GUI.Button(new Rect(105, 235, 80, 24), "Back", GUI.skin.GetStyle("NextLevelButton")))&lt;br /&gt;        {&lt;br /&gt;            dialog = previousDialog;&lt;br /&gt;        }&lt;br /&gt;        GUI.EndGroup();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/F0Xr6_S1snY" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/8315294791193860983/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2012/02/unity3d_20.html#comment-form" title="Комментарии: 8" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/8315294791193860983" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/8315294791193860983" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/F0Xr6_S1snY/unity3d_20.html" title="Unity3d. Сохранение результата в базу данных расположенную на сервере. Часть вторая - клиент." /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2012/02/unity3d_20.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-3814030469404955992</id><published>2012-02-20T02:26:00.005+07:00</published><updated>2012-02-27T13:39:39.269+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Unity3d" /><title type="text">Unity3d. Сохранение результата в базу данных расположенную на сервере. Часть первая - сервер.</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Всем доброго времени суток, в этом цикле статей я расскажу как создать базу данных на бесплатном интернет хостинге, и получить доступ к ней из вашей игры, сделанной на &lt;b&gt;Unity3d.&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Допустим вы создали онлайн игру и перед вами встала задача добавить возможность сохранения  набранных очков пользователем, с возможностью вывода этих очков в HiScore.  Для этого вам необходимо хранить эти очки на сервере с возможностью постоянного доступа к нему.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span id="fullpost"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Я использовал бесплатный хостинг&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;www.byethost.com&lt;/b&gt;&lt;/span&gt;. И так регестрируемся на&amp;nbsp;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;www.byethost.com&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;, на почту вам должно прийти письмо с логином и паролем. Авторизуемся на сайте, потом заходим в панель управления. Выбираем &lt;b&gt;MySQL Database&lt;/b&gt;:&lt;/span&gt;&lt;/div&gt; &lt;/span&gt;&lt;/span&gt;&lt;span id="fullpost"&gt; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span id="fullpost"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://i1206.photobucket.com/albums/bb460/alukardev/1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="fullpost"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;В появившемся окне в поле &lt;database-name&gt; вводим имя вашей базы данных, и жмем &lt;b&gt;Create Database&lt;/b&gt;. База данных создана теперь заходим в панель управления базой данных, жмем кнопку &lt;b&gt;Admin&lt;/b&gt;. У вас должно появиться следующее окошко:&lt;/database-name&gt;&lt;/span&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;database-name&gt; &lt;br /&gt;&lt;/database-name&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span id="fullpost"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/2-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://i1206.photobucket.com/albums/bb460/alukardev/2-1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="fullpost"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Создадим новую таблицу в которой будем хранить имя пользователя и набранные очки. В поле &lt;b&gt;«Имя»&lt;/b&gt; введите название таблицы, например &lt;b&gt;«scores»&lt;/b&gt;, в поле &lt;b&gt;«Количество столбцов» &lt;/b&gt;введите&lt;b&gt; «2»,&lt;/b&gt; и нажмите &lt;b&gt;«Ок»&lt;/b&gt;. Появится окно где нужно заполнить названия столбцов и тип хранимых данных. В первом столбце будем хранить имя пользователя: поле - &lt;b&gt;name&lt;/b&gt;, тип - &lt;b&gt;varchar&lt;/b&gt;, длинна - &lt;b&gt;20.&lt;/b&gt; Второй столбец: поле – &lt;b&gt;score&lt;/b&gt;, тип &lt;b&gt;int.&lt;/b&gt; Нажимае &lt;b&gt;«Сохранить»&lt;/b&gt;, таблица создана. Теперь&amp;nbsp;выберите&amp;nbsp;созданную таблицу, у вас появится окно со структурой таблицы, и внизу будет надпись &lt;span class="Apple-style-span" style="color: red;"&gt;«Индекс не определен»&lt;/span&gt;. Напротив столбца &lt;b&gt;«Name»&lt;/b&gt; нажмите&lt;b&gt; «ещё»&lt;/b&gt;  и&amp;nbsp;выберите&lt;b&gt;&amp;nbsp;"добавить индекс".&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span id="fullpost"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="175" src="http://i1206.photobucket.com/albums/bb460/alukardev/3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;База данных создана, теперь необходимо осуществить доступ к ней. Так как на сервере &lt;b&gt;порт 3306 закрыт для внешнего доступа&lt;/b&gt;, по которому осуществляется связь с&lt;b&gt; MySQL&lt;/b&gt;, мы не можем удаленно, из нашего приложения осуществлять доступ к базе данных. По этому  мы создадим&lt;b&gt; php &lt;/b&gt;скрипт в котором будет осуществляться доступ к нашей БД, чтение и запись данных и расположим его на сервере, а из приложения уже будем получать данные через этот скрипт.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;И так создайте следующий php-скрипт:&lt;/div&gt;&lt;br /&gt;&lt;pre class="brush:xml"&gt;?PHP&lt;br /&gt;// Connect to Database&lt;br /&gt;$link = mysql_connect( "hostname", "username", "password" ) or die( mysql_error() );&lt;br /&gt;mysql_select_db( "databasename" ) or die( mysql_error() );&lt;br /&gt;&lt;br /&gt;// Get Data&lt;br /&gt;$name = $_POST['name']; //Get name from Unity&lt;br /&gt;$score = $_POST['score']; //Get score from Unity&lt;br /&gt;$action = $_POST[ 'action' ]; //Get request action from Unity&lt;br /&gt;$unityHash = $_POST[ 'hash' ]; //Get hash key from Unity&lt;br /&gt;&lt;br /&gt;//Секретный ключ для шифрования данных при передаче&lt;br /&gt;$secretKey="BRIGHTWORLDGAMES"; &lt;br /&gt;&lt;br /&gt;$phpHash = md5($name."-".$score."-".$secretKey);&lt;br /&gt;&lt;br /&gt;switch ( $action )&lt;br /&gt;{&lt;br /&gt; case "GetScore":&lt;br /&gt;  GetScores();&lt;br /&gt;  break;&lt;br /&gt; case "PostScore":&lt;br /&gt;  if( $phpHash == $unityHash ) {&lt;br /&gt;   PostScore();&lt;br /&gt;  }&lt;br /&gt;  break;&lt;br /&gt; default:&lt;br /&gt;  GetScores();&lt;br /&gt;  break;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;function PostScore()&lt;br /&gt;{   &lt;br /&gt; $score = $_POST[ 'score' ]; //score pass from Unity&lt;br /&gt; $name  = $_POST[ 'name' ]; //name pass from Unity&lt;br /&gt; &lt;br /&gt; //scores = имя вашей БД&lt;br /&gt; //name = Первый столбец&lt;br /&gt; //score = второй столбец&lt;br /&gt; $query = "INSERT INTO scores ( name, score ) VALUES ( '" . $name . "', '" . $score . "')";&lt;br /&gt; &lt;br /&gt; mysql_query( $query ) or die( mysql_error() );&lt;br /&gt;}&lt;br /&gt;////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;function GetScores()&lt;br /&gt;{ &lt;br /&gt; if( $_POST[ 'size' ] != "" ) {&lt;br /&gt;  $size = $_POST[ 'size' ];&lt;br /&gt; } else {&lt;br /&gt;  $size = 10;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; $query = "SELECT * FROM scores ORDER BY score DESC LIMIT " . $size;&lt;br /&gt; $results = mysql_query( $query ) or die( mysql_error() );&lt;br /&gt; &lt;br /&gt; //Return XML String to Unity&lt;br /&gt; echo "\n";&lt;br /&gt; echo "&lt;scores&gt;\n";&lt;br /&gt; if( mysql_num_rows( $results ) &amp;gt; 0 )&lt;br /&gt; { &lt;br /&gt;  while( $line = mysql_fetch_array( $results ) ) {&lt;br /&gt;   echo " &lt;user "="" "\"="" "score="\&amp;quot;&amp;quot;" $line["name"]="" $line["score"]="" .="" name="\&amp;quot;&amp;quot;"&gt;\n";&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; else {&lt;br /&gt;  echo "No entries yet.";&lt;br /&gt; }&lt;br /&gt; echo "&lt;/user&gt;&lt;/scores&gt;\n";&lt;br /&gt;}&lt;br /&gt;////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;// Close mySQL Connection&lt;br /&gt;mysql_close($link);&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;Hostname&lt;/b&gt; вы можете посмотреть на панели слева, имя пользователя и пароль к БД должны были прийти вам на почту. Назовите данный скрипт &lt;b&gt;HiScore&lt;/b&gt;, и залейте его на сервер через &lt;b&gt;ftp &lt;/b&gt;&lt;i&gt;(адрес ftp также можно увидеть на панели слева)&lt;/i&gt;, в папку &lt;b&gt;“htdocs”&lt;/b&gt;. На этом работа с сервером закончена, и можно переходить к клиентской части приложения.&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/evzFxGB08ow" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/3814030469404955992/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2012/02/unity3d.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/3814030469404955992" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/3814030469404955992" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/evzFxGB08ow/unity3d.html" title="Unity3d. Сохранение результата в базу данных расположенную на сервере. Часть первая - сервер." /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2012/02/unity3d.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-5617258320657829194</id><published>2010-10-06T13:24:00.000+07:00</published><updated>2010-10-06T13:37:04.624+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Программирование под Android" /><title type="text">Использование Google Maps в Android</title><content type="html">&amp;nbsp;&amp;nbsp; Google Maps API позволяет добавлять в Android приложения возможность работы с картами Google. Чтобы подключить карты к вашему проекту, вам необходимо выполнить следующие шаги:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Создать новый проект Android на базе библиотек Google API; &lt;/li&gt;&lt;li&gt;Соз&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;дать н&lt;/span&gt;овый Android Virtual Device - c возможностью работы с Google API;&lt;/li&gt;&lt;li&gt;Получить Map API Key;&lt;/li&gt;&lt;li&gt;Подключить к проекту необходимые библиотеки и использовать классы Google Maps.&lt;/li&gt;&lt;/ol&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;span id="fullpost"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Шаг первый:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Запустите Eclipse, создайте новый Android Project, можете назвать его HelloMap, и в поле &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Build Target&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; &amp;nbsp;выберете Google APIs. Если у вас в Build Target нет Google APIs, значит у вас не установлен пакет с данным API. Пройдите &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Windows-&amp;gt;Android SDK and AVD Manager-&amp;gt;Installed Pakages&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;, нажмите &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Update All...&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; и установите пакет с Google API.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Шаг второй:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Теперь нужно создать Android Virtual Device который имеет возможность работы с Google API. Пройдите &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Windows-&amp;gt;Android SDK and AVD Manager-&amp;gt;Virtual Devices&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;. Нажмите &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; и в поле &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Target&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; выберете Google APIs. Теперь можете запустите созданный эмулятор.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-weight: normal; line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Шаг третий:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Получение Map API Key.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; Для того чтобы иметь возможность отображать Google карты, вам необходимо использовать бесплатный Google Map API Key. Чтобы получить ключ необходимо выполнить следующие шаги:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Найдите файл &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;debug.keystore&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;, он располагается в папке &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;"C:\Documents and Settings\&amp;lt;User Name&amp;gt;\.android"&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;. Скопируйте данный файл в папку C:\(к примеру можете создать папку Android "C:\Android").&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Из данного keystore необходимо получить &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;MD5&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; код. Для этого используйте утилиту &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;keytool.exe&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; которая поставляется вместе с &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;JDK&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; и располагается в папке &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;"C:\Program Files\Java\&amp;lt;jdk using version&amp;gt;\bin".&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Запустите командную строку &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Пуск-&amp;gt;Все программы-&amp;gt;стандартные-&amp;gt;командная строка. &lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Перейдите в папку с keytool (&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;"cd C:\Program Files\Java\&amp;lt;jdk uses version&amp;gt;\bin"&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;) и выполните следующую команду:&lt;/span&gt;&lt;/li&gt; &lt;pre class="brush:xml"&gt;keytool.exe -list -alias androiddebugkey -keystore "C:\android\debug.keystore" -storepass android -keypass android&lt;br /&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;После выполнения данный команды вы должны увидеть на экране свой MD5 код.                   &lt;/span&gt;    &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/md5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="80" src="http://i1206.photobucket.com/albums/bb460/alukardev/md5.jpg" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Скопируйте полученный MD5 и пройдите по ссылке&amp;nbsp;&lt;/span&gt;&lt;a href="http://code.google.com/intl/ru-RU/android/maps-api-signup.html"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;http://code.google.com/intl/ru-RU/android/maps-api-signup.html&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;. Следуйте инструкциям и получите свой API Key.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Шаг четвёртый:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="color: black; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Для того чтобы использовать Google Maps API необходимо подключить библиотеку для работы с картами &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;lt;uses-library android:name="com.google.android.maps"&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; и так как наше приложение будет загружать карты через интернет нужно позволить ему работать с интернетом &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;INTERNET permission&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp; Откройте &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;AndroidManifest.xml&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; и добавьте в него &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;lt;uses-library&amp;gt; &lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;и &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;INTERNET permission&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; line-height: normal;"&gt;&lt;pre class="brush:xml"&gt;&lt;manifest android:versioncode="1" android:versionname="1.0" package="com.alukardev.hellomap2" xmlns:android="http://schemas.android.com/apk/res/android"&gt;&lt;br /&gt;    &lt;application android:icon="@drawable/icon" android:label="@string/app_name"&gt;&lt;br /&gt;        &lt;activity android:label="@string/app_name" android:name=".HelloMapActivity"&gt;&lt;br /&gt;            &lt;intent-filter&gt;&lt;br /&gt;                &lt;action android:name="android.intent.action.MAIN"&gt;&lt;br /&gt;                &lt;category android:name="android.intent.category.LAUNCHER"&gt;&lt;br /&gt;            &lt;/category&gt;&lt;/action&gt;&lt;/intent-filter&gt;&lt;br /&gt;        &lt;/activity&gt;&lt;br /&gt; &lt;uses-library android:name="com.google.android.maps"&gt;&lt;br /&gt; &lt;br /&gt;    &lt;/uses-library&gt;&lt;/application&gt;&lt;br /&gt;      &lt;br /&gt;    &lt;uses-sdk android:minsdkversion="7"&gt;&lt;br /&gt;    &lt;uses-permission android:name="android.permission.INTERNET"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/uses-permission&gt;&lt;/uses-sdk&gt;&lt;/manifest&gt; &lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Отображение карты.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;&amp;nbsp; для того чтобы отобразить карты измените &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;main.xml&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; из папке&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; res\layout&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;. Вы должны использовать&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 15px; white-space: pre;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;lt;com.google.android.maps.MapView&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;элемент, чтобы отобразить карту в вашем Activity.&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush:xml"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" &lt;br /&gt;    android:layout_width="fill_parent" &lt;br /&gt;    android:layout_height="fill_parent"&amp;gt;&lt;br /&gt; &lt;br /&gt;    &amp;lt;com.google.android.maps.MapView &lt;br /&gt;        android:id="@+id/mapView"&lt;br /&gt;        android:layout_width="fill_parent"&lt;br /&gt;        android:layout_height="fill_parent"&lt;br /&gt;        android:enabled="true"&lt;br /&gt;        android:clickable="true"&lt;br /&gt;        android:apiKey="Ваш API Key"&lt;br /&gt;        /&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;/RelativeLayout&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp; Теперь откройте &lt;b&gt;HelloMap.Activity&lt;/b&gt;, данный класс должен быть унаследован от &lt;b&gt;MapActivity&lt;/b&gt;. При наследовании от класса MapActivity необходимо переопределить метод &lt;b&gt;isRoyteDisplayed()&lt;/b&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;pre class="brush:xml"&gt;package com.alukardev.hellomap2;&lt;br /&gt;&lt;br /&gt;import com.google.android.maps.MapActivity;&lt;br /&gt;import com.google.android.maps.MapView;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;&lt;br /&gt;public class HelloMapActivity extends MapActivity {&lt;br /&gt;    /** Called when the activity is first created. */&lt;br /&gt;    @Override&lt;br /&gt;    public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;        super.onCreate(savedInstanceState);&lt;br /&gt;        setContentView(R.layout.main);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; protected boolean isRouteDisplayed() {&lt;br /&gt;  // TODO Auto-generated method stub&lt;br /&gt;  return false;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp; Всё готово! Теперь можете запустить проект и посмотреть результат.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/map.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="http://i1206.photobucket.com/albums/bb460/alukardev/map.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Масштабирование.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&amp;nbsp; Добавим в наш проект возможность масштабировать карту.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&amp;nbsp; Откройте&lt;b&gt; main.xml&lt;/b&gt; и добавьте в него &lt;b&gt;&amp;lt;LinearLayout&amp;gt;:&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;pre class="brush:xml"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" &lt;br /&gt;    android:layout_width="fill_parent" &lt;br /&gt;    android:layout_height="fill_parent"&amp;gt;&lt;br /&gt; &lt;br /&gt;    &amp;lt;com.google.android.maps.MapView &lt;br /&gt;        android:id="@+id/mapView"&lt;br /&gt;        android:layout_width="fill_parent"&lt;br /&gt;        android:layout_height="fill_parent"&lt;br /&gt;        android:enabled="true"&lt;br /&gt;        android:clickable="true"&lt;br /&gt;        android:apiKey="0oJHawmPUco4Y2eJDV8r5cKv4kUseLVglm4-e0g"&lt;br /&gt;        /&amp;gt;&lt;br /&gt;        &lt;br /&gt;        &amp;lt;LinearLayout android:id="@+id/zoom" &lt;br /&gt;        android:layout_width="wrap_content" &lt;br /&gt;        android:layout_height="wrap_content" &lt;br /&gt;        android:layout_alignParentBottom="true" &lt;br /&gt;        android:layout_centerHorizontal="true" &lt;br /&gt;        /&amp;gt; &lt;br /&gt; &lt;br /&gt;&amp;lt;/RelativeLayout&amp;gt;&lt;/pre&gt;&lt;b&gt;&amp;lt;LinearLayout&amp;gt;&lt;/b&gt; элемент нужен чтобы отобразить на нем кнопки масштабирования.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Теперь откройте &amp;nbsp;&lt;b&gt;HelloMapActivity.java&lt;/b&gt;. Импортируйте следующие библиотеки:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;import com.google.android.maps.MapView.LayoutParams;  &lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.LinearLayout;&lt;br /&gt;&lt;/pre&gt;&amp;nbsp;&amp;nbsp; Добавьте следующий код после строчки&amp;nbsp;&amp;nbsp;setContentView(R.layout.main);&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;mapView = (MapView) findViewById(R.id.mapView);&lt;br /&gt;        LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom);  &lt;br /&gt;        View zoomView = mapView.getZoomControls(); &lt;br /&gt; &lt;br /&gt;        zoomLayout.addView(zoomView, &lt;br /&gt;            new LinearLayout.LayoutParams(&lt;br /&gt;                LayoutParams.WRAP_CONTENT, &lt;br /&gt;                LayoutParams.WRAP_CONTENT)); &lt;br /&gt;        mapView.displayZoomControls(true);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Файл &lt;b&gt;HelloMapActivity.java&lt;/b&gt; полностью:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;package com.alukardev.hellomap2;&lt;br /&gt;&lt;br /&gt;import com.google.android.maps.MapActivity;&lt;br /&gt;import com.google.android.maps.MapView;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import com.google.android.maps.MapView.LayoutParams;  &lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.LinearLayout;&lt;br /&gt;&lt;br /&gt;public class HelloMapActivity extends MapActivity &lt;br /&gt;{&lt;br /&gt; MapView mapView; &lt;br /&gt; &lt;br /&gt;    /** Called when the activity is first created. */&lt;br /&gt;    @Override&lt;br /&gt;    public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;        super.onCreate(savedInstanceState);&lt;br /&gt;        setContentView(R.layout.main);&lt;br /&gt;        mapView = (MapView) findViewById(R.id.mapView);&lt;br /&gt;        LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom);  &lt;br /&gt;        View zoomView = mapView.getZoomControls(); &lt;br /&gt; &lt;br /&gt;        zoomLayout.addView(zoomView, &lt;br /&gt;            new LinearLayout.LayoutParams(&lt;br /&gt;                LayoutParams.WRAP_CONTENT, &lt;br /&gt;                LayoutParams.WRAP_CONTENT)); &lt;br /&gt;        mapView.displayZoomControls(true);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; protected boolean isRouteDisplayed() {&lt;br /&gt;  // TODO Auto-generated method stub&lt;br /&gt;  return false;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Теперь можете запустить проект и посмотреть результат.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/mapZoom.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="http://i1206.photobucket.com/albums/bb460/alukardev/mapZoom.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&amp;nbsp;В качестве альтернативного решения можно использовать клавиши для масштабирования, для этого нужно вызывать методы &lt;b&gt;zoomIn() &lt;/b&gt;и &lt;b&gt;zoouOut()&lt;/b&gt; класса &lt;b&gt;MapController&lt;/b&gt;:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;pre class="brush:java"&gt;package com.alukardev.hellomap2;&lt;br /&gt;&lt;br /&gt;import com.google.android.maps.MapActivity;&lt;br /&gt;import com.google.android.maps.MapController;&lt;br /&gt;import com.google.android.maps.MapView;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import com.google.android.maps.MapView.LayoutParams;  &lt;br /&gt;&lt;br /&gt;import android.view.KeyEvent;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.LinearLayout;&lt;br /&gt;&lt;br /&gt;public class HelloMapActivity extends MapActivity &lt;br /&gt;{&lt;br /&gt; MapView mapView;&lt;br /&gt; &lt;br /&gt;  public boolean onKeyDown(int keyCode, KeyEvent event) &lt;br /&gt;     {&lt;br /&gt;         MapController mc = mapView.getController(); &lt;br /&gt;         switch (keyCode) &lt;br /&gt;         {&lt;br /&gt;             case KeyEvent.KEYCODE_3:&lt;br /&gt;                 mc.zoomIn();&lt;br /&gt;                 break;&lt;br /&gt;             case KeyEvent.KEYCODE_1:&lt;br /&gt;                 mc.zoomOut();&lt;br /&gt;                 break;&lt;br /&gt;         }&lt;br /&gt;         return super.onKeyDown(keyCode, event);&lt;br /&gt;     }    &lt;br /&gt; &lt;br /&gt;    /** Called when the activity is first created. */&lt;br /&gt;    @Override&lt;br /&gt;    public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;        super.onCreate(savedInstanceState);&lt;br /&gt;        setContentView(R.layout.main);&lt;br /&gt;        mapView = (MapView) findViewById(R.id.mapView);&lt;br /&gt;        LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom);  &lt;br /&gt;        View zoomView = mapView.getZoomControls(); &lt;br /&gt; &lt;br /&gt;        zoomLayout.addView(zoomView, &lt;br /&gt;            new LinearLayout.LayoutParams(&lt;br /&gt;                LayoutParams.WRAP_CONTENT, &lt;br /&gt;                LayoutParams.WRAP_CONTENT)); &lt;br /&gt;        mapView.displayZoomControls(true);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; protected boolean isRouteDisplayed() {&lt;br /&gt;  // TODO Auto-generated method stub&lt;br /&gt;  return false;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://mobiforge.com/developing/story/using-google-maps-android"&gt;Источник&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/9Sov9qPP9f8" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/5617258320657829194/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2010/10/google-maps-android.html#comment-form" title="Комментарии: 8" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/5617258320657829194" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/5617258320657829194" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/9Sov9qPP9f8/google-maps-android.html" title="Использование Google Maps в Android" /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2010/10/google-maps-android.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-1513894412772832181</id><published>2010-09-30T14:10:00.002+07:00</published><updated>2012-02-13T23:27:13.028+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="мотивация" /><category scheme="http://www.blogger.com/atom/ns#" term="музыка" /><title type="text">...</title><content type="html">&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;a href="http://moneyking.ru/motivaciya/10-work-songs/"&gt;...&lt;/a&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;Survivor - Eye of the Tiger&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;object data="http://junglebook2007.narod.ru/audio/player.swf" height="16" id="audioplayer1" type="application/x-shockwave-flash" width="180" wmode="transparent"&gt; &lt;param value="http://junglebook2007.narod.ru/audio/player.swf" name="movie"&gt;&lt;param value="playerID=1&amp;amp;bg=0xffffff&amp;amp;leftbg=0x99cc00&amp;amp;lefticon=0x000000&amp;amp;rightbg=0x99cc00&amp;amp;rightbghover=0x999999&amp;amp;rightcon=0xoooooo&amp;amp;righticonhover=0xffffff&amp;amp;text=0x666666&amp;amp;slider=0x000000&amp;amp;track=0xffffff&amp;amp;border=0x666666&amp;amp;loader=0x99cc00&amp;amp;loop=no&amp;amp;autostart=no&amp;amp;soundFile=http://file2.podfm.ru/14/145/1456/14569/mp3/myzuka.ru_01_eye_of_the_tiger.mp3 &amp;amp;" name="FlashVars"&gt;&lt;param value="high" name="quality"&gt;&lt;param value="false" name="menu"&gt;&lt;param value="transparent" name="wmode"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;Journey - Don't Stop Belivien&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;object data="http://junglebook2007.narod.ru/audio/player.swf" height="16" id="audioplayer2" type="application/x-shockwave-flash" width="180" wmode="transparent"&gt; &lt;param value="http://junglebook2007.narod.ru/audio/player.swf" name="movie"&gt;&lt;param value="playerID=1&amp;amp;bg=0xffffff&amp;amp;leftbg=0x99cc00&amp;amp;lefticon=0x000000&amp;amp;rightbg=0x99cc00&amp;amp;rightbghover=0x999999&amp;amp;rightcon=0xoooooo&amp;amp;righticonhover=0xffffff&amp;amp;text=0x666666&amp;amp;slider=0x000000&amp;amp;track=0xffffff&amp;amp;border=0x666666&amp;amp;loader=0x99cc00&amp;amp;loop=no&amp;amp;autostart=no&amp;amp;soundFile=http://file2.podfm.ru/14/145/1456/14569/mp3/laguna_beach_soundtrack_-_journey_-_dont_stop_believing.mp3 &amp;amp;" name="FlashVars"&gt;&lt;param value="high" name="quality"&gt;&lt;param value="false" name="menu"&gt;&lt;param value="transparent" name="wmode"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;Mark Ronson - Ooh Wee (feat. Ghostface Kilah, Nate Dogg, Trife Da God &amp;amp; Saigon)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;object data="http://junglebook2007.narod.ru/audio/player.swf" height="16" id="audioplayer3" type="application/x-shockwave-flash" width="180" wmode="transparent"&gt; &lt;param value="http://junglebook2007.narod.ru/audio/player.swf" name="movie"&gt;&lt;param value="playerID=1&amp;amp;bg=0xffffff&amp;amp;leftbg=0x99cc00&amp;amp;lefticon=0x000000&amp;amp;rightbg=0x99cc00&amp;amp;rightbghover=0x999999&amp;amp;rightcon=0xoooooo&amp;amp;righticonhover=0xffffff&amp;amp;text=0x666666&amp;amp;slider=0x000000&amp;amp;track=0xffffff&amp;amp;border=0x666666&amp;amp;loader=0x99cc00&amp;amp;loop=no&amp;amp;autostart=no&amp;amp;soundFile=http://file2.podfm.ru/14/145/1456/14569/mp3/myzuka.ru_4._Mark_Ronson_-_Pravila_sjoma_Metod_Hitcha_-_Saundtrek_-_Ooh_Wee_feat._Ghostface_Killah_N.mp3 &amp;amp;" name="FlashVars"&gt;&lt;param value="high" name="quality"&gt;&lt;param value="false" name="menu"&gt;&lt;param value="transparent" name="wmode"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;Heavy D &amp;amp; The Boyz - Now That We Found Love&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;object data="http://junglebook2007.narod.ru/audio/player.swf" height="16" id="audioplayer4" type="application/x-shockwave-flash" width="180" wmode="transparent"&gt; &lt;param value="http://junglebook2007.narod.ru/audio/player.swf" name="movie"&gt;&lt;param value="playerID=1&amp;amp;bg=0xffffff&amp;amp;leftbg=0x99cc00&amp;amp;lefticon=0x000000&amp;amp;rightbg=0x99cc00&amp;amp;rightbghover=0x999999&amp;amp;rightcon=0xoooooo&amp;amp;righticonhover=0xffffff&amp;amp;text=0x666666&amp;amp;slider=0x000000&amp;amp;track=0xffffff&amp;amp;border=0x666666&amp;amp;loader=0x99cc00&amp;amp;loop=no&amp;amp;autostart=no&amp;amp;soundFile=http://file2.podfm.ru/14/145/1456/14569/mp3/myzuka.ru_5._Heavy_D__The_Boyz_-_Pravila_sjoma_Metod_Hitcha_-_Saundtrek_-_Now_That_We_Found_Love.mp3 &amp;amp;" name="FlashVars"&gt;&lt;param value="high" name="quality"&gt;&lt;param value="false" name="menu"&gt;&lt;param value="transparent" name="wmode"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;Dave Lichens - Blue&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;object data="http://junglebook2007.narod.ru/audio/player.swf" height="16" id="audioplayer5" type="application/x-shockwave-flash" width="180" wmode="transparent"&gt; &lt;param value="http://junglebook2007.narod.ru/audio/player.swf" name="movie"&gt;&lt;param value="playerID=1&amp;amp;bg=0xffffff&amp;amp;leftbg=0x99cc00&amp;amp;lefticon=0x000000&amp;amp;rightbg=0x99cc00&amp;amp;rightbghover=0x999999&amp;amp;rightcon=0xoooooo&amp;amp;righticonhover=0xffffff&amp;amp;text=0x666666&amp;amp;slider=0x000000&amp;amp;track=0xffffff&amp;amp;border=0x666666&amp;amp;loader=0x99cc00&amp;amp;loop=no&amp;amp;autostart=no&amp;amp;soundFile=http://file2.podfm.ru/14/145/1456/14569/mp3/Dave_Lichens_blue.mp3 &amp;amp;" name="FlashVars"&gt;&lt;param value="high" name="quality"&gt;&lt;param value="false" name="menu"&gt;&lt;param value="transparent" name="wmode"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;Elvis Presley - Jailhouse Rock&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;object data="http://junglebook2007.narod.ru/audio/player.swf" height="16" id="audioplayer6" type="application/x-shockwave-flash" width="180" wmode="transparent"&gt; &lt;param value="http://junglebook2007.narod.ru/audio/player.swf" name="movie"&gt;&lt;param value="playerID=1&amp;amp;bg=0xffffff&amp;amp;leftbg=0x99cc00&amp;amp;lefticon=0x000000&amp;amp;rightbg=0x99cc00&amp;amp;rightbghover=0x999999&amp;amp;rightcon=0xoooooo&amp;amp;righticonhover=0xffffff&amp;amp;text=0x666666&amp;amp;slider=0x000000&amp;amp;track=0xffffff&amp;amp;border=0x666666&amp;amp;loader=0x99cc00&amp;amp;loop=no&amp;amp;autostart=no&amp;amp;soundFile=http://file2.podfm.ru/14/145/1456/14569/mp3/Jailhouse_Rock.mp3 &amp;amp;" name="FlashVars"&gt;&lt;param value="high" name="quality"&gt;&lt;param value="false" name="menu"&gt;&lt;param value="transparent" name="wmode"&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;b&gt;Ray Collins - Barefoot&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;object data="http://junglebook2007.narod.ru/audio/player.swf" height="16" id="audioplayer7" type="application/x-shockwave-flash" width="180" wmode="transparent"&gt; &lt;param value="http://junglebook2007.narod.ru/audio/player.swf" name="movie"&gt;&lt;param value="playerID=1&amp;amp;bg=0xffffff&amp;amp;leftbg=0x99cc00&amp;amp;lefticon=0x000000&amp;amp;rightbg=0x99cc00&amp;amp;rightbghover=0x999999&amp;amp;rightcon=0xoooooo&amp;amp;righticonhover=0xffffff&amp;amp;text=0x666666&amp;amp;slider=0x000000&amp;amp;track=0xffffff&amp;amp;border=0x666666&amp;amp;loader=0x99cc00&amp;amp;loop=no&amp;amp;autostart=no&amp;amp;soundFile=http://file2.podfm.ru/14/145/1456/14569/mp3/Ray_Collins_-_Barefoot.mp3 &amp;amp;" name="FlashVars"&gt;&lt;param value="high" name="quality"&gt;&lt;param value="false" name="menu"&gt;&lt;param value="transparent" name="wmode"&gt;&lt;/object&gt;&lt;br /&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/WObOVuER7_4" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/1513894412772832181/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2010/09/blog-post.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/1513894412772832181" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/1513894412772832181" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/WObOVuER7_4/blog-post.html" title="..." /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2010/09/blog-post.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-4945115593092754866</id><published>2010-09-25T19:25:00.000+07:00</published><updated>2010-10-01T23:47:27.050+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="настройка Blogger" /><title type="text">Настраиваем свой блог на Blogger.com. Локализация</title><content type="html">&amp;nbsp;&amp;nbsp; Всем привет! В этом посте я расскажу, как выполнить локализацию вашего блога на Blogger.com с помощью Google Translate.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/loc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="46" src="http://i1206.photobucket.com/albums/bb460/alukardev/loc.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;span id="fullpost"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large; line-height: 18px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large; line-height: 18px;"&gt;&lt;b&gt;Локализация:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Перейдите на вкладку &lt;b&gt;"Дизайн"-&amp;gt;"Элементы страницы"&lt;/b&gt;, и выберете добавить гаджет. В списке гаджетов выберете &lt;b&gt;"HTML/JavaScript"&lt;/b&gt;.&lt;/li&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="291" src="http://i1206.photobucket.com/albums/bb460/alukardev/2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;li&gt;В данном гаджете, в поле &lt;b&gt;"Содержание"&lt;/b&gt; вставьте следующий код: &lt;/li&gt; &lt;pre class="brush:xml"&gt;&amp;lt;style&amp;gt; &lt;br /&gt;.google_translate img {&lt;br /&gt;filter:alpha(opacity=100);&lt;br /&gt;-moz-opacity: 1.0;&lt;br /&gt;opacity: 1.0;&lt;br /&gt;border:0;&lt;br /&gt;}&lt;br /&gt;.google_translate:hover img {&lt;br /&gt;filter:alpha(opacity=30);&lt;br /&gt;-moz-opacity: 0.30;&lt;br /&gt;opacity: 0.30;&lt;br /&gt;border:0;&lt;br /&gt;}&lt;br /&gt;.google_translatextra:hover img {&lt;br /&gt;filter:alpha(opacity=0.30);&lt;br /&gt;-moz-opacity: 0.30;&lt;br /&gt;opacity: 0.30;&lt;br /&gt;border:0;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt; &lt;br /&gt;&amp;lt;div&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="English" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Cen&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="English" border="0" align="absbottom" title="English" height="32" src="http://lh6.ggpht.com/_pt7i0nbIOCY/SWwjycGEnLI/AAAAAAAAA1o/7p6S3-tipsA/English_thumb%5B3%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="French" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Cfr&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="French" border="0" align="absbottom" title="French" height="32" src="http://lh3.ggpht.com/_pt7i0nbIOCY/SWwj1AdOWZI/AAAAAAAAA1w/lWUkGNrOFYo/French_thumb%5B5%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="German" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Cde&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="German" border="0" align="absbottom" title="German" height="32" src="http://lh5.ggpht.com/_pt7i0nbIOCY/SWwj4Ab0NaI/AAAAAAAAA14/3H56LPKtijA/German_thumb%5B1%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="Spain" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Ces&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="Spain" border="0" align="absbottom" title="Spain" height="32" src="http://lh3.ggpht.com/_pt7i0nbIOCY/SWwj8KhadjI/AAAAAAAAA2A/GNyl8VBie3o/Spain_thumb%5B1%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="Italian" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Cit&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="Italian" border="0" align="absbottom" title="Italian" height="32" src="http://lh3.ggpht.com/_pt7i0nbIOCY/SWwj-14HeyI/AAAAAAAAA2I/TN52dIqkO9Q/Italian_thumb%5B1%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="Dutch" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Cnl&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="Dutch" border="0" align="absbottom" title="Dutch" height="32" src="http://lh5.ggpht.com/_pt7i0nbIOCY/SWwkBmKewNI/AAAAAAAAA2Q/43NEAnyNo1I/Dutch_thumb%5B1%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="Russian" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Cru&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="Russian" border="0" align="absbottom" title="Russian" height="32" src="http://lh4.ggpht.com/_pt7i0nbIOCY/SWwkESa-0pI/AAAAAAAAA2Y/i0X4cKgxq3g/Russian_thumb%5B1%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="Portuguese" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Cpt&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="Portuguese" border="0" align="absbottom" title="Portuguese" height="32" src="http://lh4.ggpht.com/_pt7i0nbIOCY/SWwkG0osjzI/AAAAAAAAA2g/_kM2A16R_Ho/Portuguese_thumb%5B1%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="Japanese" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Cja&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="Japanese" border="0" align="absbottom" title="Japanese" height="32" src="http://lh5.ggpht.com/_pt7i0nbIOCY/SWwkJ6RBJAI/AAAAAAAAA2o/lpsTh893J3k/Japanese_thumb%5B1%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="Korean" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=id%7Cko&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="Korean" border="0" align="absbottom" title="Korean" height="32" src="http://lh4.ggpht.com/_pt7i0nbIOCY/SWwkMouNMKI/AAAAAAAAA2w/L5l6J-Hh8XA/Korean_thumb%5B1%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="Arabic" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Car&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="Arabic" border="0" align="absbottom" title="Arabic" height="32" src="http://lh5.ggpht.com/_pt7i0nbIOCY/SWwkPdkvXBI/AAAAAAAAA24/A1LSG1lcuac/Arabic_thumb%5B1%5D.png?imgmax=800" style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;a class="google_translate" href="#" target="_blank" rel="nofollow" title="Chinese Simplified" onclick="window.open('http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&amp;amp;langpair=ru%7Czh-CN&amp;amp;hl=en'); return false;"&amp;gt;&amp;lt;img alt="Chinese Simplified" border="0" align="absbottom" title="Chinese Simplified" height="32" src="http://lh6.ggpht.com/_pt7i0nbIOCY/SWwkSgrv4ZI/AAAAAAAAA3A/jQqZ1l6avts/Chinese-Simplified_thumb%5B1%5D.png?imgmax=800"&lt;br /&gt;style="cursor: pointer;margin-right:13px" width="24" /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;Нажмите &lt;b&gt;"сохранить"&lt;/b&gt; в гаджете и на вкладке &lt;b&gt;"Элементы страницы"&lt;/b&gt;.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;Теперь у вас в блоге должна появиться панелька с флагами разных стран. Щелкайте на флаг страны, на язык которой вы хотите перевести свой блог, и Google Translite выполнит перевод.&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://www.blogspottutorial.com/2009/01/installing-google-translate-widget-2.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Источник&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;/ol&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/teiyPkW-1NE" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/4945115593092754866/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2010/09/bloggercom_25.html#comment-form" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/4945115593092754866" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/4945115593092754866" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/teiyPkW-1NE/bloggercom_25.html" title="Настраиваем свой блог на Blogger.com. Локализация" /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2010/09/bloggercom_25.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-6794761473710144521</id><published>2010-09-25T00:04:00.000+07:00</published><updated>2010-10-01T23:47:27.051+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="настройка Blogger" /><title type="text">Настраиваем свой блог на Blogger.com. Подсветка кода.</title><content type="html">Всем привет! В этом посте я расскажу, как сделать подсветку синтаксиса вставляемого кода в ваш блог на Blogger.&lt;br /&gt;5JGRS3JHEN2V&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;span id="fullpost"&gt;&lt;div style="text-align: center;"&gt;&lt;span id="fullpost"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large; line-height: 18px;"&gt;&lt;b&gt;Подсветка синтаксиса в Blogger:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;В этом методе будет использоваться opne-source проект Alexa Gorbatcheva - &lt;a href="http://alexgorbatchev.com/SyntaxHighlighter/"&gt;SyntaxHighlighter&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Войдите в свой аккаунт&amp;nbsp;на Blogger.com, Перейдите &amp;nbsp;&lt;b&gt;"Дизайн" -&amp;gt; "Изменить HTML"&lt;/b&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/BloggerEdit/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" src="http://i1206.photobucket.com/albums/bb460/alukardev/BloggerEdit/1.jpg" style="cursor: move;" width="400" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Выберете &lt;b&gt;"загрузить весь шаблон"&lt;/b&gt;, чтобы сохранить текущую версию шаблона. Это нужно для того чтобы если что-то пойдет не так, &amp;nbsp;вы всегда могли восстановить старую версию шаблона. &lt;/li&gt;&lt;li&gt;Нажмите &lt;b&gt;Ctrl-F&lt;/b&gt;, чтобы открыть поисковик, и найдите тег &lt;b&gt;&amp;lt;/head&amp;gt;&lt;/b&gt;. Перед этим тегом вставьте следующий код:&lt;/li&gt;&lt;pre class="brush:xml"&gt;&amp;lt;link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/&amp;gt;&lt;br /&gt;&amp;lt;link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;!-- добавляйте языки сюда --&amp;gt;&lt;br /&gt;&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;  SyntaxHighlighter.config.bloggerMode = true;&lt;br /&gt;  SyntaxHighlighter.all();&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;После комментариев &lt;b&gt;"Добавляйте языки сюда"&lt;/b&gt;, вставьте языки которые вы собираетесь использовать. Допустим вы собираетесь использовать языки: &lt;b&gt;JavaScript, Java, SQL, XML, C++, C#,&lt;/b&gt; тогда вам нужно вставить следующий код:&lt;/li&gt;&lt;pre class="brush:xml"&gt;&amp;lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;b&gt;Ознакомьтесь также с&amp;nbsp;&lt;/b&gt;&lt;a href="http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/"&gt;&lt;b&gt;полным списком языков&lt;/b&gt;&lt;/a&gt;&lt;b&gt;. &lt;/b&gt;&lt;li&gt;Сохраните изменения, нажмите &lt;b&gt;"сохранить шаблон".&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Теперь вы можете использовать подсветку синтаксиса в ваших постах. Для этого вставляйте код между тегами &lt;b&gt;&amp;lt;pre class="brush:язык"&amp;gt; &amp;lt;/pre&amp;gt;&lt;/b&gt;. Приведу пример с языком &lt;b&gt;SQL&lt;/b&gt;. Допусти нам надо вставить следующий код: &lt;b&gt;SELECT * FROM users WHERE userID = 1:&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;pre class="brush:sql"&amp;gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SELECT *&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM users&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE userId = 1;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:sql"&gt;SELECT *&lt;br /&gt;FROM users&lt;br /&gt;WHERE userId = 1;&lt;br /&gt;&lt;/pre&gt;&amp;nbsp;&amp;nbsp; И напоследок если так получается, что ваш код вставляется в одну строчку, или вообще редактор выдает ошибки на вставляемый код, воспользуйтесь&amp;nbsp;&lt;a href="http://mlawire.blogspot.com/2009/07/html-encoder-encode-html-entities.html"&gt;&lt;b&gt;HTML Encoder&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;&lt;ol&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/Y8HdeHYrqlk" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/6794761473710144521/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2010/09/bloggercom_3210.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/6794761473710144521" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/6794761473710144521" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/Y8HdeHYrqlk/bloggercom_3210.html" title="Настраиваем свой блог на Blogger.com. Подсветка кода." /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i1206.photobucket.com/albums/bb460/alukardev/BloggerEdit/th_1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2010/09/bloggercom_3210.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-1380815968732986301</id><published>2010-09-25T00:03:00.000+07:00</published><updated>2010-10-01T23:47:27.052+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="настройка Blogger" /><title type="text">Настраиваем свой блог на Blogger.com. Пишем статьи под катом.</title><content type="html">&amp;nbsp;&amp;nbsp; Всем привет, в этом посте я расскажу, как скрывать часть вашего сообщения в блоге под катом.&lt;br /&gt;&amp;nbsp;&amp;nbsp; Так как на Blogger.com отсутствуют стандартные методы реализующие данную возможность, придется сделать несколько не сложных действий.&lt;br /&gt;&lt;span id="fullpost"&gt;  &lt;br /&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Добавляем возможность писать статьи под катом:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 14px; line-height: 21px;"&gt;Войдите в свой аккаунт&amp;nbsp;на Blogger.com, Перейдите на вкладку &amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 14px; line-height: 21px;"&gt;&lt;b&gt;"Дизайн" -&amp;gt; "Изменить HTML".&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 14px; line-height: 21px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Выберете&amp;nbsp;&lt;b&gt;"загрузить весь шаблон"&lt;/b&gt;, чтобы сохранить текущую версию шаблона. Это нужно для того чтобы если что-то пойдет не так, &amp;nbsp;вы всегда могли восстановить старую версию шаблона.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 14px; line-height: 21px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Поставьте галочку напротив &lt;/span&gt;&lt;span class="Apple-style-span"&gt;"Расширить шаблоны виджета"&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;. Найдите в коде закрывающийся тег &lt;/span&gt;&lt;span class="Apple-style-span"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; и прямо перед ним вставьте следующий код:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;pre class="brush:xml"&gt;&amp;lt;b:if cond='data:blog.pageType != "item"'&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;var fade = false;&lt;br /&gt;function showFull(id) {&lt;br /&gt;var post = document.getElementById(id);&lt;br /&gt;var spans = post.getElementsByTagName('span');&lt;br /&gt;for (var i = 0; i &amp;amp;lt; spans.length; i++) {&lt;br /&gt;if (spans[i].id == "fullpost") {&lt;br /&gt;if (fade) {&lt;br /&gt;spans[i].style.background = peekaboo_bgcolor;&lt;br /&gt;Effect.Appear(spans[i]);&lt;br /&gt;} else spans[i].style.display = 'inline';&lt;br /&gt;}&lt;br /&gt;if (spans[i].id == "showlink")&lt;br /&gt;spans[i].style.display = 'none';&lt;br /&gt;if (spans[i].id == "hidelink")&lt;br /&gt;spans[i].style.display = 'inline';&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function hideFull(id) {&lt;br /&gt;var post = document.getElementById(id);&lt;br /&gt;var spans = post.getElementsByTagName('span');&lt;br /&gt;for (var i = 0; i &amp;amp;lt; spans.length; i++) {&lt;br /&gt;if (spans[i].id == "fullpost") {&lt;br /&gt;if (fade) {&lt;br /&gt;spans[i].style.background = peekaboo_bgcolor;&lt;br /&gt;Effect.Fade(spans[i]);&lt;br /&gt;} else spans[i].style.display = 'none';&lt;br /&gt;}&lt;br /&gt;if (spans[i].id == "showlink")&lt;br /&gt;spans[i].style.display = 'inline';&lt;br /&gt;if (spans[i].id == "hidelink")&lt;br /&gt;spans[i].style.display = 'none';&lt;br /&gt;}&lt;br /&gt;post.scrollIntoView(true);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function checkFull(id) {&lt;br /&gt;var post = document.getElementById(id);&lt;br /&gt;var spans = post.getElementsByTagName('span');&lt;br /&gt;var found = 0;&lt;br /&gt;for (var i = 0; i &amp;amp;lt; spans.length; i++) {&lt;br /&gt;if (spans[i].id == "fullpost") {&lt;br /&gt;spans[i].style.display = 'none';&lt;br /&gt;found = 1;&lt;br /&gt;}&lt;br /&gt;if ((spans[i].id == "showlink") &amp;amp;amp;&amp;amp;amp; (found == 0))&lt;br /&gt;spans[i].style.display = 'none';&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/b:if&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px;"&gt;Теперь найдите тег&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;b&gt;&amp;lt;data:post.body/&amp;gt;, &lt;/b&gt;чуть выше него будет тег&lt;b&gt;&amp;nbsp;&amp;lt;div class='post-body entry-content'/&amp;gt;, &lt;/b&gt;измените его следующим образом:&lt;/span&gt;&lt;/li&gt;&lt;pre class="brush:xml"&gt;&amp;lt;div class=&amp;#39;post-body entry-content&amp;#39; expr:id=&amp;#39;&amp;amp;quot;post-&amp;amp;quot; + data:post.id&amp;#39;&amp;gt;&lt;br /&gt;&lt;/pre&gt;и сразу за ним вставьте код:             &lt;pre class="brush:xml"&gt;&amp;lt;b:if cond='data:blog.pageType == "item"'&amp;gt;&lt;br /&gt;        &amp;lt;style&amp;gt;#fullpost{display:inline;}&amp;lt;/style&amp;gt;&lt;br /&gt;        &amp;lt;p&amp;gt;&amp;lt;data:post.body/&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;     &amp;lt;b:else/&amp;gt;&lt;br /&gt;        &amp;lt;style&amp;gt;#fullpost{display:none;}&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;p&amp;gt;&amp;lt;data:post.body/&amp;gt;&amp;lt;/p&amp;gt; &amp;lt;!-- это уже есть --&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;span id='showlink'&amp;gt;&lt;br /&gt;        &amp;lt;a expr:href='data:post.url'&amp;gt;Читать дальше......&amp;lt;/a&amp;gt;&lt;br /&gt;       &amp;lt;/span&amp;gt;&lt;br /&gt;       &amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;         checkFull("post-" + "&amp;lt;data:post.id/&amp;gt;");&lt;br /&gt;       &amp;lt;/script&amp;gt;&lt;br /&gt;     &amp;lt;/b:if&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;Сохраните изменения. Теперь перейдите на вкладку &lt;b&gt;"Настройки"-&amp;gt;"Форматирование" &lt;/b&gt;и в поле&lt;b&gt; "Шаблон сообщения"&lt;/b&gt; вставьте код: &lt;/li&gt;&lt;pre class="brush:xml"&gt;Превью поста&lt;br /&gt;&lt;br /&gt;&amp;lt;span id="fullpost"&amp;gt;&lt;br /&gt;&lt;br /&gt;То, что скрыто под катом&lt;br /&gt;&lt;br /&gt;&amp;lt;/span&amp;gt;&lt;br /&gt;&lt;/pre&gt;Сохраните настройки. &lt;/ol&gt;&lt;/span&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp; Теперь при создании нового сообщения у вас будет появляться данный шаблон. То что вы будете писать до тега &lt;b&gt;&amp;lt;span&amp;gt;&lt;/b&gt; будет отображать в превью поста, а &amp;nbsp;содержимое заключенное в тег &lt;b&gt;&amp;lt;span id="fullpost"&amp;gt; &amp;lt;/span&amp;gt;&lt;/b&gt; будет скрыто под катом.&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp; На этом всё, удачного вам написания статей.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://hackosphere.blogspot.com/2006/11/selective-expandable-posts.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Источник&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/u0TKhS4YoU8" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/1380815968732986301/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2010/09/bloggercom_24.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/1380815968732986301" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/1380815968732986301" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/u0TKhS4YoU8/bloggercom_24.html" title="Настраиваем свой блог на Blogger.com. Пишем статьи под катом." /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2010/09/bloggercom_24.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-4960187166083516375</id><published>2010-09-24T23:58:00.000+07:00</published><updated>2010-10-01T23:47:27.052+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="настройка Blogger" /><title type="text">Настраиваем свой блог на Blogger.com. Создаем облако тегов.</title><content type="html">&amp;nbsp;&amp;nbsp; Всем привет!!! В этой статье я расскажу как добавить облако тегов в ваш блог на Blogger.com.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/54f6d990.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="121" src="http://i1206.photobucket.com/albums/bb460/alukardev/54f6d990.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; font-size: x-large; line-height: 18px;"&gt;&lt;b&gt;Добавляем облако тегов:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 14px; line-height: 21px;"&gt;Войдите в свой аккаунт&amp;nbsp;на Blogger.com, Перейдите на вкладку &amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 14px; line-height: 21px;"&gt;&lt;b&gt;"Дизайн" -&amp;gt; "Элементы страницы". &lt;/b&gt;Нажмите &lt;b&gt;"Добавить гаджет"&lt;/b&gt; и в списке гаджетов выберите "Ярлыки". Добавьте данный гаджет в свой блог без всяких изменений.&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 14px; line-height: 21px;"&gt;Перейдите на вкладку &lt;b&gt;"Изменить HTML"&lt;/b&gt;.&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 14px; line-height: 21px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Выберете&amp;nbsp;&lt;b&gt;"загрузить весь шаблон"&lt;/b&gt;, чтобы сохранить текущую версию шаблона. Это нужно для того чтобы если что-то пойдет не так, &amp;nbsp;вы всегда могли восстановить старую версию шаблона.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px;"&gt;Найдите в шаблоне следующий тег "&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Verdana, sans-serif; font-size: 12px; font-weight: bold; line-height: 20px;"&gt;]]&amp;gt;&lt;/span&gt;" и прямо перед ним вставьте следующий код:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;pre class="brush:xml"&gt;#labelCloud {text-align:center;font-family:arial,sans-serif;}&lt;br /&gt;#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}&lt;br /&gt;#labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}&lt;br /&gt;#labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}&lt;br /&gt;#labelCloud a{text-decoration:none}&lt;br /&gt;#labelCloud a:hover{text-decoration:underline}&lt;br /&gt;#labelCloud li a{}&lt;br /&gt;#labelCloud .label-cloud {}&lt;br /&gt;#labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}&lt;br /&gt;#labelCloud .label-cloud li:before{content:"" !important}&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px;"&gt;Следующий код настраивает параметры облака тегов, его необходимо вставить после тегов&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 14px; line-height: 21px;"&gt;&lt;b&gt;"&lt;/b&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 20px;"&gt;&lt;b&gt;]]&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;"&lt;/b&gt; &lt;b&gt;"&amp;lt;/b:skin&amp;gt;":&lt;/b&gt;&lt;/span&gt;&lt;/li&gt; &lt;pre class="brush:xml"&gt;&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;// Пользовательские настройки облака тегов&lt;br /&gt;var cloudMin = 1;&lt;br /&gt;var maxFontSize = 21;&lt;br /&gt;var maxColor = [79,148,205];&lt;br /&gt;var minFontSize = 11;&lt;br /&gt;var minColor = [180,205,205];&lt;br /&gt;var lcShowCount = false;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px;"&gt;Теперь нужно изменить гаджет &lt;b&gt;"Ярлыки"&lt;/b&gt;. Для этого найдите в коде объявление данного гаджета, это &amp;nbsp;строка примерно такого вида:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;pre class="brush:xml"&gt;&amp;lt;b:widget id='Label2' locked='false' title='Ярлыки' type='Label'/&amp;gt;&lt;br /&gt;&lt;/pre&gt;И замените данную строку следующим кодом:      &lt;pre class="brush:xml"&gt;&amp;lt;b:widget id='Label1' locked='false' title='Label Cloud' type='Label'&amp;gt;&lt;br /&gt;&amp;lt;b:includable id='main'&amp;gt;&lt;br /&gt;  &amp;lt;b:if cond='data:title'&amp;gt;&lt;br /&gt;    &amp;lt;h2&amp;gt;&amp;lt;data:title/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;  &amp;lt;/b:if&amp;gt;&lt;br /&gt; &lt;br /&gt;  &amp;lt;div class='widget-content'&amp;gt;&lt;br /&gt;  &amp;lt;div id='labelCloud'/&amp;gt;&lt;br /&gt;&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt; &lt;br /&gt;// Don't change anything past this point -----------------&lt;br /&gt;// Cloud function s() ripped from del.icio.us&lt;br /&gt;function s(a,b,i,x){&lt;br /&gt;      if(a&amp;amp;gt;b){&lt;br /&gt;          var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)&lt;br /&gt;             }&lt;br /&gt;      else{&lt;br /&gt;          var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)&lt;br /&gt;          }&lt;br /&gt;      return v&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;var c=[];&lt;br /&gt;var labelCount = new Array();  &lt;br /&gt;var ts = new Object;&lt;br /&gt;&amp;lt;b:loop values='data:labels' var='label'&amp;gt;&lt;br /&gt;var theName = &amp;amp;quot;&amp;lt;data:label.name/&amp;gt;&amp;amp;quot;;&lt;br /&gt;ts[theName] = &amp;lt;data:label.count/&amp;gt;;&lt;br /&gt;&amp;lt;/b:loop&amp;gt;&lt;br /&gt; &lt;br /&gt;for (t in ts){&lt;br /&gt;     if (!labelCount[ts[t]]){&lt;br /&gt;           labelCount[ts[t]] = new Array(ts[t])&lt;br /&gt;           }&lt;br /&gt;        }&lt;br /&gt;var ta=cloudMin-1;&lt;br /&gt;tz = labelCount.length - cloudMin;&lt;br /&gt;lc2 = document.getElementById('labelCloud');&lt;br /&gt;ul = document.createElement('ul');&lt;br /&gt;ul.className = 'label-cloud';&lt;br /&gt;for(var t in ts){&lt;br /&gt;    if(ts[t] &amp;amp;lt; cloudMin){&lt;br /&gt;       continue;&lt;br /&gt;       }&lt;br /&gt;    for (var i=0;3 &amp;amp;gt; i;i++) {&lt;br /&gt;             c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)&lt;br /&gt;              }      &lt;br /&gt;         var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);&lt;br /&gt;         li = document.createElement('li');&lt;br /&gt;         li.style.fontSize = fs+'px';&lt;br /&gt;         li.style.lineHeight = '1';&lt;br /&gt;         a = document.createElement('a');&lt;br /&gt;         a.title = ts[t]+' Posts in '+t;&lt;br /&gt;         a.style.color = 'rgb('+c[0]+','+c[1]+','+c[2]+')';&lt;br /&gt;         a.href = '/search/label/'+encodeURIComponent(t);&lt;br /&gt;         if (lcShowCount){&lt;br /&gt;             span = document.createElement('span');&lt;br /&gt;             span.innerHTML = '('+ts[t]+') ';&lt;br /&gt;             span.className = 'label-count';&lt;br /&gt;             a.appendChild(document.createTextNode(t));&lt;br /&gt;             li.appendChild(a);&lt;br /&gt;             li.appendChild(span);&lt;br /&gt;             }&lt;br /&gt;          else {&lt;br /&gt;             a.appendChild(document.createTextNode(t));&lt;br /&gt;             li.appendChild(a);&lt;br /&gt;             }&lt;br /&gt;         ul.appendChild(li);&lt;br /&gt;         abnk = document.createTextNode(' ');&lt;br /&gt;         ul.appendChild(abnk);&lt;br /&gt;    }&lt;br /&gt;  lc2.appendChild(ul);    &lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;noscript&amp;gt;&lt;br /&gt;    &amp;lt;ul&amp;gt;&lt;br /&gt;    &amp;lt;b:loop values='data:labels' var='label'&amp;gt;&lt;br /&gt;      &amp;lt;li&amp;gt;&lt;br /&gt;        &amp;lt;b:if cond='data:blog.url == data:label.url'&amp;gt;&lt;br /&gt;          &amp;lt;data:label.name/&amp;gt;&lt;br /&gt;        &amp;lt;b:else/&amp;gt;&lt;br /&gt;          &amp;lt;a expr:href='data:label.url'&amp;gt;&amp;lt;data:label.name/&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;        &amp;lt;/b:if&amp;gt;&lt;br /&gt;        (&amp;lt;data:label.count/&amp;gt;)&lt;br /&gt;      &amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;/b:loop&amp;gt;&lt;br /&gt;    &amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/noscript&amp;gt;&lt;br /&gt;    &amp;lt;b:include name='quickedit'/&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;/b:includable&amp;gt;&lt;br /&gt;&amp;lt;/b:widget&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px;"&gt;Теперь сохраните изменения и просмотрите полученный результат. Если облако тегов не появилось, то скорее всего вы где-то допустили ошибку, попробуйте проделать данные шаги ещё раз.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: medium;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: medium;"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; font-size: x-large; line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Описание параметров облака тегов:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;span id="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;cloudMin = 1;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt; - количество повторений ярлыка в статьях, требуемых чтобы включить данный ярлык в облако тегов. В данном случае в облако включаются все ярлыки которые использовались хотя бы в одной статье.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;b&gt;maxFontSize и maxColor&lt;/b&gt; - задают цвет и размер соответственно, для ярлыков которые повторяются чаще всего.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;b&gt;minFontSize и minColor&lt;/b&gt; - задают цвет и размер соответственно, для ярлыков которые повторяются реже всего. Все остальные ярлыки принимают промежуточное значение между этими цветами и размерами, в зависимости от количества их повторений.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;b&gt;lcShowCount = false;&lt;/b&gt; - если значение = "false" - то количество повторений каждого ярлыка не отображается в облаке тегов, если = "true", то отображается.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;На этом всё, и до встречи в следующих постах&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; font-size: x-large; line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;:)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; font-size: x-large; line-height: 18px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;&lt;a href="http://phy3blog.googlepages.com/Beta-Blogger-Label-Cloud.html"&gt;Источник&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/l2gc1xtRsE4" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/4960187166083516375/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2010/09/bloggercom.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/4960187166083516375" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/4960187166083516375" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/l2gc1xtRsE4/bloggercom.html" title="Настраиваем свой блог на Blogger.com. Создаем облако тегов." /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2010/09/bloggercom.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-2094210468682183067</id><published>2010-09-23T15:18:00.000+07:00</published><updated>2010-09-25T00:05:29.214+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Программирование под Android" /><title type="text">Обзор структуры проекта под Android</title><content type="html">&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp;&amp;nbsp; Всем привет!!! В этой статье я расскажу об основных файлах проекта под Android и их назначении.&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/View.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/View.jpg" style="cursor: move;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large; line-height: 18px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span id="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; font-size: x-large; line-height: 18px;"&gt;&lt;strong&gt;Основные файлы:&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;AndroidManifest.xm&lt;/b&gt;l - главный конфигурационный файл приложения;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;/src&lt;/b&gt; - каталог в котором хранятся все исходные коды приложения;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;/src/com.alukardev.hellowworld/MainActivity.java&lt;/b&gt; - точка входа в приложение (объявляется в Android Manifest).&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;/res &lt;/b&gt;- здесь хранятся все все внешние ресурсы, такие как анимация, картинки, видео, строковые переменные и прочее.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;/res/drawable&lt;/b&gt; - здесь хранятся графические ресурсы. При создании нового проекта, можно видеть, что создается три папки drawable - hdpi, ldpi и mdpi, это нужно чтобы хранить в каждой из них одинаковые рисунки, но с различным качеством. На первых парах, можно удалить все эти папки и создать одну папку drawable и в нее помещать графические объекты.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;/res/layout/main.xml&lt;/b&gt; - данный файл содержит описание интерфейса вашего Activity. В этом файле вы создаете внешний вид Activity. Делать это можно как в ручную, в xml файле, так и в графическом редакторе.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/main.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;img border="0" height="308" src="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/main.jpg" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;/res/values/strings.xml&lt;/b&gt; - здесь хранятся строковые значения.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Подробнее об AndroidManifest:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp; Кликните два раза по файлу AndroidManifest.xml вашего проекта и откроется редактор.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/manifest.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/manifest.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp; Вся информация файла Manifest расположена на 5 вкладках:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Manifest&lt;/b&gt; - на этой вкладке хранится информация о пространстве имен (Pakage), &amp;nbsp;версии проекта, версии кода, и минимальной используемой SDK.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Application&lt;/b&gt; - содержит такую информацию, как имя проекта, используемая иконка, и т.д. Особое внимание здесь стоит обратить на раздел Application Nodes, именно здесь определяются Activity (классы которые имеют интерфейс и должны &amp;nbsp;отображаться как окно).&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;Приведу пример чтобы стало все понятно:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp; И так у вас создан новый проект, с главным файлом Activity (в моем случае он называется MainActivity). Теперь создайте новый класс, для этого щёлкните правой кнопкой мыши по вашему пространству имен (в моем случае это com.alukardev.helloworld), и выберете &lt;b&gt;New-&amp;gt;Class&lt;/b&gt;, должно появиться вот такое окно:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/newClass.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/newClass.jpg" width="266" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp;В поле &lt;b&gt;Name&lt;/b&gt; введите, скажем TwoActivity, а в поле &lt;b&gt;Superclass&lt;/b&gt; нажмите &lt;b&gt;Browse &lt;/b&gt;и введите android.app.Activity, тем самым мы указываем, что наш класс наследуется от класса Activity, и нажмите кнопку &lt;b&gt;Finish&lt;/b&gt;.&amp;nbsp;Можно сделать проще скопировав файл MainActivity и переименовав его.&lt;br /&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp; Класс создан теперь нужно создать файл с описанием интерфейса. Перейдите в директорию /res/layout и сделайте копию файла main, и переименуйте эту копию в two.xml например.&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp; Теперь нужно связать класс с интерфейсом. Если посмотреть на класс MainActivity, то можно увидеть, что там переопределяться метод &lt;b&gt;onCreate&lt;/b&gt; и в нем связывается класс с layout:&amp;nbsp;setContentView(R.layout.main). Сделаем тоже самое и для вновь созданного класса.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp; Выберете класс TwoActivity, на вкладке Outline щелкните правой кнопкой мыши по TwoActivity и выберете &lt;b&gt;Source-&amp;gt;Override/Implement Methods...&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/OverrideMethods.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/OverrideMethods.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&amp;nbsp; В появившемся окне найдите метод &lt;b&gt;onCreate&lt;/b&gt;, поставьте напротив него галочку и нажмите &lt;b&gt;OK&lt;/b&gt;. Теперь добавьте в данный метод следующий код:&amp;nbsp;&lt;b&gt;setContentView(R.layout.&lt;/b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;two&lt;/b&gt;&lt;/span&gt;&lt;b&gt;);&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&amp;nbsp; Новый Activity создан, теперь нужно объявить его в Manifest файле. Откройте AndroidManifest.xml, перейдите на вкладку &lt;b&gt;Application&lt;/b&gt;, в &lt;b&gt;Application Nodes&lt;/b&gt; нажмите &lt;b&gt;Add..&lt;/b&gt;. Если в появившемся окне у вас выбрано &lt;b&gt;Create a new element in the selected element&lt;/b&gt;, то выберете &lt;b&gt;Create a new element at the top level, in Application&lt;/b&gt;. Выберете &lt;b&gt;Activity&lt;/b&gt; и нажмите &lt;b&gt;ОК&lt;/b&gt;. Теперь на вкладке &lt;b&gt;Attributes for Activity&lt;/b&gt; нажмите &lt;b&gt;Browse...&lt;/b&gt; напротив &lt;b&gt;Name&lt;/b&gt;, в появившемся окне введите свое пространство имен сверху (в моем случае это com.alukardev) и в нижнем окне выберете &lt;b&gt;TwoActivity&lt;/b&gt;, нажмите &lt;b&gt;ОК&lt;/b&gt; и &lt;b&gt;Ctrl-S&lt;/b&gt;. Всё новый Activity создан.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Permissions&lt;/b&gt; - на этой вкладке определяются права доступа вашего приложения к различным функциям. Например если вашему приложению требуется считать список контактов из телефона, тогда ваш нужно&amp;nbsp;зарегистрировать&amp;nbsp;&lt;b&gt;Uses-Permissions&lt;/b&gt; с именем android.permission.READ_CONTACTS. Для этого на вкладке &lt;b&gt;Permissions&lt;/b&gt; нажмите кнопку &lt;b&gt;Add...&lt;/b&gt;, выберете &lt;b&gt;Uses_Permissions &lt;/b&gt;и на вкладке &lt;b&gt;Atributes for Uses Permissions&lt;/b&gt; выберете&amp;nbsp;android.permission.READ_CONTACTS.&lt;/li&gt;&lt;li&gt;&lt;b&gt;AndroidManifest.xml&lt;/b&gt; - на этой вкладке можно редактировать Manifest файл вручную в xml разметке.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;pre class="brush:xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;manifest xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;package=&amp;quot;com.alukardev.helloworld&amp;quot;&lt;br /&gt;android:versionCode=&amp;quot;1&amp;quot;&lt;br /&gt;android:versionName=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;application android:icon=&amp;quot;@drawable/icon&amp;quot; android:label=&amp;quot;@string/app_name&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;activity android:name=&amp;quot;.MainActivity&amp;quot;&lt;br /&gt;android:label=&amp;quot;@string/app_name&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;intent-filter&amp;gt;&lt;br /&gt;&amp;lt;action android:name=&amp;quot;android.intent.action.MAIN&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;category android:name=&amp;quot;android.intent.category.LAUNCHER&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/intent-filter&amp;gt;&lt;br /&gt;&amp;lt;/activity&amp;gt;&lt;br /&gt;&amp;lt;activity android:name=&amp;quot;TwoActivity&amp;quot;&amp;gt;&amp;lt;/activity&amp;gt;&lt;br /&gt;&amp;lt;/application&amp;gt;&lt;br /&gt;&amp;lt;uses-sdk android:minSdkVersion=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;uses-permission android:name=&amp;quot;android.permission.BLUETOOTH&amp;quot;&amp;gt;&amp;lt;/uses-permission&amp;gt;&lt;br /&gt;&amp;lt;uses-permission&amp;gt;&amp;lt;/uses-permission&amp;gt;&lt;br /&gt;&amp;lt;instrumentation&amp;gt;&amp;lt;/instrumentation&amp;gt;&lt;br /&gt;&amp;lt;/manifest&amp;gt; &lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&amp;nbsp; Обратите внимание на тег &amp;lt;intent-fliter&amp;gt;, эти тегом помечается Activity, который является точкой входа в приложение.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&amp;nbsp; Ну вот пожалуй и всё что я хотел написать в этой статье, надеюсь она вам оказалась полезной, и до встречи в следующих постах&lt;b&gt;&lt;span class="Apple-style-span" style="color: #99cc00; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;:)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/Zs4R2dP0Y98" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/2094210468682183067/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2010/09/android_23.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/2094210468682183067" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/2094210468682183067" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/Zs4R2dP0Y98/android_23.html" title="Обзор структуры проекта под Android" /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i1206.photobucket.com/albums/bb460/alukardev/StructuredProject/th_View.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2010/09/android_23.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-3823206117807081130.post-1850359242020717023</id><published>2010-09-22T15:44:00.000+07:00</published><updated>2010-09-25T00:05:46.777+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Программирование под Android" /><title type="text">Hello Android. Пишем Hello World под ОС Android.</title><content type="html">Всем доброго времени суток! В этой статье мы сделаем первые шаги в увлекательном деле - программирование под Android:)&lt;br /&gt;Ну что же, от слов к делу, приступим.&lt;br /&gt;&lt;span id="fullpost"&gt; &lt;br /&gt;&lt;span class="Apple-style-span" style="color: #343434; font-family: Arial; font-size: small; line-height: 21px;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;span style="font-size: large;"&gt;&lt;span style="color: #99cc00;"&gt;&lt;strong&gt;Установка IDE, необходимого для программирования под Android.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;И так если вы решили писать программы под Android, первым делом надо скачать и установить необходимое ПО:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;ul style="background-repeat: no-repeat repeat; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 1em; font-weight: normal; line-height: 1.4; list-style-image: initial; list-style-position: outside; list-style-type: disc; margin-bottom: 0.75em; margin-left: 20px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 20px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; border-width: initial; font-size: 1em; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;Sun Java SE Development KIT (JDK) 6&amp;nbsp;&lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html" style="color: #679fd3; text-decoration: underline;"&gt;www.oracle.com/technetwork/java/javase/d&lt;wbr&gt;&lt;/wbr&gt;ownloads/jdk6-jsp-136632.html&lt;/a&gt;&amp;nbsp;Нажмите кнопку Download и выберете нужную платформу(в моем случае это Windows).&lt;/li&gt;&lt;li style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; border-width: initial; font-size: 1em; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;Eclipse Classic Version 3.6 (Helios)&amp;nbsp;&lt;a href="http://www.eclipse.org/downloads/packages/eclipse-classic-360/heliosr" style="color: #679fd3; text-decoration: underline;"&gt;www.eclipse.org/downloads/packages/eclip&lt;wbr&gt;&lt;/wbr&gt;se-classic-360/heliosr&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; border-width: initial; font-size: 1em; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;Android SDK&amp;nbsp;&lt;a href="http://developer.android.com/sdk/index.html" style="color: #679fd3; text-decoration: underline;"&gt;developer.android.com/sdk/index.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;span id="fullpost"&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: 18px;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp; Следующий шаг - установка.&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Первым делом установите JDK. После этого извлеките архив Eclipse Helios в удобное для вас место, в моем случае это "C:\eclipse". На этом установка Eclipse завершена.&lt;br /&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp; Установка Android SDK.&lt;/strong&gt;&amp;nbsp;&amp;nbsp;Запустите Eclipse, в меню выберете&amp;nbsp;&lt;strong&gt;Help-&amp;gt;Install New Software...&lt;/strong&gt;, в появившемся &amp;nbsp;окне кликните&amp;nbsp;&lt;strong&gt;Add&lt;/strong&gt;, &amp;nbsp;в появившемся окне в поле&amp;nbsp;&lt;strong&gt;Name&lt;/strong&gt;&amp;nbsp;введите любое название (например Android), а в поле&lt;strong&gt;Location&amp;nbsp;&lt;/strong&gt;адрес:&amp;nbsp;https://dl-ssl.google.com/android/e&lt;wbr&gt;&lt;/wbr&gt;clipse/ . Нажимаем&amp;nbsp;&lt;strong&gt;ОК&lt;/strong&gt;&amp;nbsp;и через некоторое время появиться&lt;strong&gt;Development Tools&lt;/strong&gt;, ставим напротив него галочку и нажимаем&lt;strong&gt;&amp;nbsp;Next&lt;/strong&gt;, потом ещё раз&amp;nbsp;&lt;strong&gt;Next,&lt;/strong&gt;&amp;nbsp;после чего начнется загрузка и установка&lt;strong&gt;&amp;nbsp;ADT&lt;/strong&gt;&amp;nbsp;(Android Development Tools). По&amp;nbsp;окончании&amp;nbsp;установки перезагрузите Eclipse.&lt;br /&gt;&amp;nbsp;&amp;nbsp;Теперь извлеките архив с Android SDK&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;в папку с Eclipse (в моем случае это "C:\eclipse"). Итак все установлено осталось только обновить Android SDK (в моем случае это заняло больше всего времени:). В Eclipse выберете&lt;strong&gt;Windows-&amp;gt;Android SDK and AVD Manager&lt;/strong&gt;, перейдите на вкладку&amp;nbsp;&lt;strong&gt;Installed Packages&lt;/strong&gt;, нажмите кнопку&amp;nbsp;&lt;strong&gt;Update All...&lt;/strong&gt;&amp;nbsp;После того как будет выведен список обновлений, вы можете выбрать&amp;nbsp;&lt;strong&gt;Accept All&amp;nbsp;&lt;/strong&gt;(в этом случае установятся все существующие версии библиотек), или выбрать только нужные вам, после чего нажмите кнопку&amp;nbsp;&lt;strong&gt;Install&lt;/strong&gt;&amp;nbsp;и ждите. На этом установка необходимого IDE закончена и можно приступать непосредственно к программированию.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;Примечание&lt;/strong&gt;: Если так получилось что Eclipse не видит Android SDK, выберете&lt;strong&gt;&amp;nbsp;Windows-&amp;gt;Preferences-&amp;gt;Android&lt;/strong&gt;, и в&lt;strong&gt;&amp;nbsp;SDK Location&lt;/strong&gt;&amp;nbsp;укажите путь к Android SDK.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3823206117807081130&amp;amp;postID=8146078111631783530" name="cutid2-end" style="color: #679fd3; text-decoration: underline;"&gt;&lt;/a&gt;&lt;span style="font-size: medium;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3823206117807081130&amp;amp;postID=8146078111631783530" name="cutid3" style="color: #679fd3; text-decoration: underline;"&gt;&lt;/a&gt;&lt;span style="color: #99cc00;"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3823206117807081130&amp;amp;postID=8146078111631783530" name="cutid3-end" style="color: #679fd3; text-decoration: underline;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: large;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3823206117807081130&amp;amp;postID=8146078111631783530" name="cutid4" style="color: #679fd3; text-decoration: underline;"&gt;&lt;/a&gt;&lt;span style="color: #99cc00;"&gt;&lt;strong&gt;&amp;nbsp;Пишем "Hello World".&lt;/strong&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3823206117807081130&amp;amp;postID=8146078111631783530" name="cutid4-end" style="color: #679fd3; text-decoration: underline;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;span style="font-size: medium;"&gt;&amp;nbsp;&lt;strong&gt;Создание AVD (Android Virtual Device).&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Прежде чем создавать и запускать новые проекты, необходимо создать эмулятор девайса, на котором можно будет тестировать проекты. Для этого выберете&amp;nbsp;&lt;strong&gt;Windows-&amp;gt;Android SDK and AVD Manager-&amp;gt;Virtual Devices&lt;/strong&gt;, нажмите&amp;nbsp;&lt;strong&gt;New..&lt;/strong&gt;. &amp;nbsp;В появившемся окне в поле&amp;nbsp;&lt;strong&gt;Name&amp;nbsp;&lt;/strong&gt;введите любое имя, в поле&amp;nbsp;&lt;strong&gt;Target&amp;nbsp;&lt;/strong&gt;выберете версию платформы, в поле&amp;nbsp;&lt;strong&gt;Size&lt;/strong&gt;&amp;nbsp;&amp;nbsp;размер карты (например 1024), в поле Skin можно выбрать размер экрана, после чего нажмите&amp;nbsp;&lt;strong&gt;Create AVD&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img align="absMiddle" alt="" height="386" hspace="20%" src="http://i1206.photobucket.com/albums/bb460/alukardev/AVD.jpg" style="-webkit-box-shadow: rgba(0, 0, 0, 0.496094) 1px 1px 5px; background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; padding-bottom: 8px; padding-left: 8px; padding-right: 8px; padding-top: 8px;" width="300" /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Эмулятор создан, теперь можно его запустить, нажмите&amp;nbsp;&lt;strong&gt;Start-&amp;gt;Launch&lt;/strong&gt;. Учтите, что загрузка ОС в эмуляторе может занять продолжительное время (всё зависит от того на сколько мощный у вас ПК), &amp;nbsp;так что наберитесь терпения и ждите:)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&amp;nbsp;&amp;nbsp;&lt;strong&gt;Создание нового проекта.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Ну что же вот наконец-то и пришло время создать наш первый проект под &amp;nbsp;Android.&lt;br /&gt;Выберете&amp;nbsp;&lt;strong&gt;File-&amp;gt;New-&amp;gt;Project...&lt;/strong&gt;, в появившемся окне выберете&amp;nbsp;&lt;strong&gt;Android-&amp;gt;Android Project&lt;/strong&gt;, нажмите&amp;nbsp;&lt;strong&gt;Next&lt;/strong&gt;, в следующей вкладке в поле&amp;nbsp;&lt;strong&gt;Project Name&lt;/strong&gt;&amp;nbsp;введите имя проекта, в&amp;nbsp;&lt;strong&gt;Build Target&lt;/strong&gt;&amp;nbsp;выберете версию платформы для которой собираетесь писать проект.&lt;br /&gt;На вкладке&amp;nbsp;&lt;strong&gt;Properties&lt;/strong&gt;&amp;nbsp;в поле&amp;nbsp;&lt;strong&gt;Application Name&amp;nbsp;&lt;/strong&gt;введите имя главного окна приложения, в поле&amp;nbsp;&lt;strong&gt;Pacage Name&lt;/strong&gt;путь по которому будет храниться ваш проект, например (com.alukardev.helloworld), в поле&amp;nbsp;&lt;strong&gt;Create Activity&lt;/strong&gt;&amp;nbsp;название вашего главного файла проекта (например MainActivity) и наконец в поле&amp;nbsp;&lt;strong&gt;Min SDK Version&amp;nbsp;&lt;/strong&gt;минимальную версию API для которых пишется проект (если платформа версии 2.2, то версия API - 8).&lt;br /&gt;&lt;br /&gt;&lt;img align="middle" alt="" height="563" hspace="15%" src="http://i1206.photobucket.com/albums/bb460/alukardev/NewProject.jpg" style="-webkit-box-shadow: rgba(0, 0, 0, 0.496094) 1px 1px 5px; background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; padding-bottom: 8px; padding-left: 8px; padding-right: 8px; padding-top: 8px;" width="400" /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; После чего нажмите&amp;nbsp;&lt;strong&gt;Finish.&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Ну вот в общем и все, вам осталось нажать кнопку&amp;nbsp;&lt;strong&gt;Run&amp;nbsp;&lt;/strong&gt;(или&amp;nbsp;&lt;strong&gt;Debug&lt;/strong&gt;) в Eclipse и увидеть на эмуляторе заветные слова.&lt;br /&gt;&lt;br /&gt;&lt;img align="middle" alt="" height="300" hspace="20%" src="http://i1206.photobucket.com/albums/bb460/alukardev/hello_world.png" style="-webkit-box-shadow: rgba(0, 0, 0, 0.496094) 1px 1px 5px; background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; padding-bottom: 8px; padding-left: 8px; padding-right: 8px; padding-top: 8px;" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; В следующей статье я подробно расскажу о структуре проекта.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/GXCEG/~4/FF1NXb6ipQo" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://progmanist.blogspot.com/feeds/1850359242020717023/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://progmanist.blogspot.com/2010/09/hello-android-hello-world-android_1100.html#comment-form" title="Комментарии: 7" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/1850359242020717023" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3823206117807081130/posts/default/1850359242020717023" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/GXCEG/~3/FF1NXb6ipQo/hello-android-hello-world-android_1100.html" title="Hello Android. Пишем Hello World под ОС Android." /><author><name>alukardev</name><uri>http://www.blogger.com/profile/12265214722107366401</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_MUGCcfD4jDE/TJoHtJphSpI/AAAAAAAAAAM/v0grCHzDU1M/S220/android_pirate.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://progmanist.blogspot.com/2010/09/hello-android-hello-world-android_1100.html</feedburner:origLink></entry></feed>
