Отвори нов блог

почни од тука, отвори нов блог

You are browsing the archive for компјутери.

Дали се препознавате???

јули 29, 2010

Откако погледав околу мене во собата и видов вакво нешто, решив да интервенирам под итно!!!

свињарник

Се разбудив рано сабајлето во понеделникот и свечено се заколнав. дадов и чесен Титов пионерски збор!!! И све добро позапочна. Доручек го прошетав Мали Митре се дотерав и……

internet_zavisnik

Дали се препознавте?

Custom листа со ResourceCursorAdapter

јули 28, 2010

Овај тип на адаптер се наога сегде кај со имаме голем број на информаци. Работење со листа од објекти е ОК ако листата е мала , односно објектите се мали. При работа со мобилни уреди, уреди со помалце меморија, важно е да се штеди шо е можно појке. Пример ако ви треба листа од контакти (500-600 контакти) пробајте со листа од објекти и ке ви крашни апликацијата memObj is full :)

ResourceCursorAdapter се користи за вакви случаи. Работи со влезен параметар Cursor односно само поинтер кон одредена група на рекорди во базата – така што не се оптоварва воопшто меморијата. Со секој повик на getView се зема по еден рекорд од базата и истиот се обработва. Посебно ако цел адаптер се оптимизира со кеширање на самите полиња и со дополнителни финти (како лоадирање на слика во thread) листата ке ЛЕТА :)

Во овај пример ке прам листа со ке се полни со контакти. За почеток дефиниција на изгледа во XML. Еден ImageView елемент за слика и еден TextView  за Display name на контактот.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="horizontal" android:layout_width="fill_parent"

android:layout_height="fill_parent">

<ImageView android:layout_width="wrap_content" android:id="@+id/image"

android:layout_height="wrap_content" />

<TextView android:layout_width="wrap_content" android:id="@+id/name"

android:layout_height="wrap_content" android:textSize="18sp"/>

</LinearLayout>

Следно ни треба класа кој ке ја наследува ResourceCursorAdapter класата. Како и сите адаптери и овој мора да има конструктор преку кој ке се проследи контекстот, изгледот, курсорот (query од базата) и пожелно autoRequery  да е true (при промена во базата од некој позадински сервис листата сама ке се освежи). Со овај адаптер исто мора да се имплеметират 3 главни методи : getView, newView и bindView. newView методот креира ново view што ке ги содржи податоците од курсорот. bindView поврзува постоечко view  со податоци, ова метода се користи цело време, затоа што newView се повикува само на почеток а потоа сите view кои се надвор од видното поле на екранот се рециклираат и се вракаат – со значи не се null  за да се креират пак. getView – исто како во предходниот пример.

Во овај пример ке користам финта за оптимизација/кеширање кажана од Romian Guy.

Како курсор му се испрака следното :

Cursor c = getApplicationContext().getContentResolver().query(Contacts.People.CONTENT_URI, null, null, null, null);

Во 2.x верзиите е многу подобро средено ContactAPI-to J

И како за на крај не заборавајте да ги вметните user permissions во manifest.xml

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>

Кодот мислам дека е доста јасен , покрај то од пример најдобро се учи , па бујрум :)

можи и ова да се види

Android SDK : 1.6

source code

Custom листа со ArrayAdapter

јули 28, 2010

Како шо напишав во предходниот пост, адаптерите се скоро најважните компоненти на листите. Тие се одговорни за како еден член во листата ке биди прикажан , кој евенти ке бидат сетирани на истиот и мн мн други работи (по колку сум досаден).

Во предходниот пример за листи искористив SimpleAdapter, кој користи листа од стрингови како влезен параметар и layout (android.R.layout.simple_list_item_1) кој е дефиниран во самиот андроид ОС/SDK.

Мало објаснување – layout-от е изгледот на еден член од листата.

Во примерите кој ке ги разработвам во овај ,и следниот, пост  ке користам custom адаптери со екстензи од ArrayAdapter и ResourceCursorAdapter. Ке биди листа шо ке прикажва коли, марка модел и кубикажа.

Пример со ArrayAdapter.

Прво дефинирање на изгледот на еден член во низата (во xml за кодот да остани чист).

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent">

<TextView android:layout_width="fill_parent" android:id="@+id/brand"

android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textSize="18sp"/>

<TextView android:layout_width="fill_parent" android:id="@+id/model" android:textSize="16sp"

android:layout_height="wrap_content" />

<TextView android:layout_width="fill_parent" android:id="@+id/cc" android:textSize="12sp"

android:layout_height="wrap_content" />

</LinearLayout>

Дефинирани се 3 TextView со различни големини на текст и со Ida. Има и класа Car.

public class Car {

private String brand;

private String model;

private String cc;

//setter getteri I konstuktori

}

Следно е да ја истанцираме во Activity-то кај шо ке се користи.

ListView lv = (ListView) findViewById(R.id.mylist);

List cars = getCarList();

Првиот ред е креирање на лист објект кој ке се користи попосле, и листа со коли . Следно шо треба е адаптерот за ListView-то. Обична класа кој наследува од ArrayAdapter. Обавезен е конструкторот во кој се задават параметирте : Context од Activity, ид на layout-от и листата со објекти. Исто се преимплеметира getView методот за да врака то нас шо ни треба.
@Override

public View getView(int position, View convertView, ViewGroup parent) {

Car car = carList.get(position);

if(convertView == null){

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(layoutId, parent, false);

}

TextView brand = (TextView) convertView.findViewById(R.id.brand);

TextView model = (TextView) convertView.findViewById(R.id.model);

TextView cc = (TextView) convertView.findViewById(R.id.cc);

brand.setText(car.getBrand());

model.setText("Model : "+car.getModel());

cc.setText("Engine : "+car.getCc()+" cc");

return convertView;

}
Со position се зема соодветниот член од листата со кој ке се пополнуваат полинњата/елементите од layout-от. Мала оптимизација е направена со то шо при секој повик се проверва дали convertView е null и ако е се инфлејтува од XML-от (inflate е скапа операција па тука штедиме), ако го гледавте видеото за тоа како работи ListView и како рециклира компоненти ке ви биди јасно зошто го провервам дали е null  После само креираме објект од оваа класа и му го доделваме на ListView-то

JanixCustomAdapter janixAdapter = new JanixCustomAdapter(getApplicationContext(), R.layout.cars_custom_list_item, cars); lv.setAdapter(janixAdapter);

start the engine и имате кастамизиран ListView.

Следува ResourceCursorAdapter…

Android SDK : 1.6

П.С. source code  за примерот ке има во следниот пост

Настани за 28.7.2010

јули 27, 2010

ВИД: Презентација

ИНДУСТРИЈА: Граѓанско општество

ЛОКАЦИЈА: Месна заедница „Мирче Ацев“, Скопје

ДАТА: 28.7.2010 ГОД.

ВРЕМЕ: 10.00 ЧАСОТ

ТЕМА: Презентација на Деталниот урбанистички план Мал ринг, вратен во повторна постапка.

______________

ВИД: Прес конференција

ИНДУСТРИЈА: Економија

ОРГАНИЗИРАНО ОД: Влада на Република Македонија

ЛОКАЦИЈА: Влада на Република Македонија, Скопје

ДАТА: 28.7.2010 ГОД.

ВРЕМЕ: 10.30 ЧАСОТ

ТЕМА: Прес конференција на заменик на претседателот на Владата задолжен за економски прашања Владимир Пешевски, министерот за економија Фатмир Бесими и претседателот на Управниот одбор на ЕВН Македонија Гинтер Офнер.

______________

ВИД: Промоција

ИНДУСТРИЈА: Спорт/Граѓанско општество

ОРГАНИЗИРАНО ОД: Град Скопје

ЛОКАЦИЈА: Градски паркинг – Плоштад „Македонија“, Скопје

ДАТА: 28.7.2010 ГОД.

ВРЕМЕ: 11.00 ЧАСОТ

ТЕМА: Градоначалникот на Скопје Коце Трајановски ќе го промовира проектот за изнајмување велосипеди, под мотото „Остави го автомобилот, вози велосипед“.

______________

ВИД: Прес конференција

ИНДУСТРИЈА: Граѓанско општество

ОРГАНИЗИРАНО ОД: Македонско меѓународно движење за човекови права/ Австралиско-македонски комитет за човекови права

ЛОКАЦИЈА: НВО Инфоцентар, Скопје

ДАТА: 28.7.2010 ГОД.

ВРЕМЕ: 11.00 ЧАСОТ

ТЕМА: Прес конференција на Македонското меѓународно движење за човекови права и Австралиско-македонскиот комитет за човекови права.

______________

ВИД: Прес конференција

ИНДУСТРИЈА: Информатички технологии

ОРГАНИЗИРАНО ОД: Министерство за информатичко општество

ЛОКАЦИЈА: Министерство за информатичко општество, Скопје

ДАТА: 28.7.2010 ГОД.

ВРЕМЕ: 12.00 ЧАСОТ

ТЕМА: Прес конференција на министерот за информатичко општество Иво Ивановски на тема „Бесплатни обуки за невработени лица за стекнување вештини од областа на информатиката, преку програмирање програмски јазици и програмски алатки“.

______________

ВИД: Промоција

ИНДУСТРИЈА: Култура

ЛОКАЦИЈА: Центар за култура, Битола

ДАТА: 28.7.2010 ГОД.

ВРЕМЕ: 12.00 ЧАСОТ

ТЕМА: Промоција на монографија за Фестивалот „Илинденски денови“ насловена „40 години традиција“ и отворање изложба на фотографии за фестивалот.

______________

ВИД: Отворање

ИНДУСТРИЈА: Економија

ОРГАНИЗИРАНО ОД: Тинекс

ЛОКАЦИЈА: Куманово

ДАТА: 28.7.2010 ГОД.

ВРЕМЕ: 20.00 ЧАСОТ

ТЕМА: Отворање „Супер Тинекс“ и дрогерија „Космо Тинекс“.

______________

ПРЕВЗЕМЕНО ОД МИА

Android OnClickListener best practices

јули 25, 2010

OnClickListener можи да се сетира/дефинира на неколку различни начини.

1. На секој View објект со setOnClickListener(new OnClickListener(){ .. implementacija .. })

Овај начин можи да се избегнува заради можност да настани хаос и непрегледност во кодот.

2. Можи да се креира објект OnClickListener како приватен објект на самата класа и потоа со погоре споментатиот сеттер да се сетира во View објектот.

Шо ако имаме 30 кликачки објекти ? и овај начин не е пожелен кога имаме поголем број на евенти кој треба да се хендлат.

3. БЕСТ СОЛУШН – имплементирајте го интерфејсот OnClickListener и направете своја имплементација на onClick(View v) методот.

Пример :

public void onClick(View v) {
int viewId = v.getId();
switch (viewId) {
case R.id.ok_button:
// povik na nekoj metod
break;
case R.id.cancel_button:
// povik na nekoj metod
break;
case R.id.save_button:
// povik na nekoj metod
break;
case R.id.refresh_button:
// povik na nekoj metod
break;
case R.id.exit_button:
// povik na nekoj metod
break;
default:
break;
}
}

Сите кликацки објекти се дефинирани во XML (би било паметно :) ) на OnClick го факаме View-то кое е кликнато и го земаме неговото ID . Во switch методот под секој case добро е да имаме методи а не цели блокови код (заради прегледност и реискористуванје на постоечки методи)

Android Basic ListView

јули 25, 2010

Во следните примери ке пробам да објаснам работенје со ListView. Односно листи со низа на објекти.

Прво треба да дефинирате листа во XML-от на Layout-от шо ке го користите.

Android:id=”@id/…” – za veke postoecko ID na nekoj element (reiskoristuvanje ili za povrzuvanje).

Android:id=”@+id/…” setiranje na ID na elementot.

<ListView android:id="@+id/mylist" android:layout_width="fill_parent"

android:layout_height="wrap_content" />

Дефиниранјето на листата можи да биди и преку код , ама јас преферирам со можи појке во XML за да ми остани кодот чист.


ListView lv= (ListView)findViewById(R.id.mylist);

List myStringList = new ArrayList();

myStringList.add("test 1");

myStringList.add("test 2");

myStringList.add("test 3");

myStringList.add("test 4");

myStringList.add("test 5");

myStringList.add("test 6");

myStringList.add("test 7");

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, myStringList);

lv.setAdapter(adapter);

lv.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView arg0, View view, int arg2,long arg3) {

TextView newTextView = (TextView) view;

Toast.makeText(getApplicationContext(), newTextView.getText().toString(), Toast.LENGTH_SHORT).show();

}

});

За да наполниме ListView  треба прво да креираме Adapter , во кој сетираме Context, View  за член во листата и низата/листата со објекти/стригови. Бидејки овај пример е Ultra Basic користам simple_list_item_1 од самата Android платформа (елементи кои се дефинирани во R класата на самиот Android).

Исто на листата можат да му се сетираат event handlers, како во примерот setOnItemClickListener кој се однесува на секој елемент во листата (за повеке можи да проверите тука)

Целата филозофија околу листата е тука. Знаци листата само по себе воопшто не е комплицирна. Магијата како се рендерираат елементите и како се реискористуваат е во Adapter-ите. Следниот пост ке биди посветен само на адаптерите.

За сите заинтересирани почетници ова е MUST SEE – презентација од Romain Guy за ListView – како работи , како се рециклира , оптимизација и реискористуванје на компоненти.

P.S. Ако ставите позадина на View-то во кое се наога листата, на scroll ке приметите дека позадината се прави црна – за да го решите тој проблем додатете android:cacheColorHint=”#00000000″ (ова е за транспарентна боја) во XML дефиницијата или преку код со setCacheColorHint(int)за повеке тука

Android version : 1.6 , Example Download

Jaangle

јули 24, 2010

http://9bd.ru/content_html_m50e33b9b.jpg

Jaangle (formerly Teen Spirit) is a free music player and organizer software. It categorizes your mp3, ogg, wma, avi etc collection and displays it in easy to browse, user interface. It has a quality audio – video player and also an integrated tag editor.

Jaangle можеме да го наречеме музички плеер, но може да ви пружи и повеќе од тоа. Почнувајќи од автоматското собирање на слики од албумите кои ги имате во колекцијата, давање на информации за она што го слушате, па се до симнување на текстови од песните.

DOWNLOAD ( 2.26 MB )

Starter

јули 24, 2010

Main window - Startups

Starter is a startup manager, that allows you to view and manage all the programs that are starting automatically whenever Windows boots. It lists all the hidden registry entries, as well as the common Startup Folder items as well. You can choose to safely disable selected entries, edit them or delete them altogether (if you know what you re doing). Expert users can also add their own entries.

Starter е програма со која ќе можете да ги излистате сите програми кои автоматски се вклучуваат со стартувањето на компјутерот. Исто така ќе можете да видите што се наоѓа во подесувањата на Windows Registry базата, start-up фолдерите…

DOWNLOAD ( 664.39 MB )

Glary Utilities

јули 24, 2010

http://www.fileguru.com/images/b/glary_utilities_utilities_file___disk_management-12411.gif

This powerful application offers extensive utilities to improve your system’s performance and protect your privacy. Glary Utilities’ well-organized interface allows users to easily choose from several tools. It cleans unwanted junk files and removes invalid and broken shortcuts, freeing up valuable disk space.

Its Registry cleaner allows you to scan, remove, and back up faulty Registry entries. You also can wipe out online and Windows traces, although Internet Explorer is the only browser in which this function is supported. To improve the speed of your computer, Glary Utilities offers tools to manage start-up programs and memory optimization. Privacy-conscious users will certainly appreciate its inclusion of a government-standard file shredder to securely delete data.

Overall, users who are looking for an effective and easy-to-use application to keep their system in tip-top shape should try this one out.

Glary Utilities е софтверски пакет која во себе ги содржи сите компоненти кои се неопходни за одржување на компјутерот во топ форма.

DOWNLOAD ( 7,91 MB )

Diagram Designer 1.22

јули 24, 2010

http://softfive.com/files/uploads/Diagram-Designer.jpg

Diagram Designer is a very simple vector graphics editor for creating diagrams, flowcharts and slide shows

Here are some key features of “Diagram Designer“:

Customizable template object palette.
Spellchecker (see below about dictionaries).
Import/export WMF, EMF, BMP, JPEG, PNG, MNG, ICO, GIF and PCX images.
Slide show viewer.
Simple graph plotter to plot mathematical expressions.
Advanced “pocket” calculator with equation solver.
MeeSoft Image Analyzer integration for bitmap image editing and extended file format support.
Uses compressed file format for minimizing drawing file size.

Diagram Designer е едноставна програма за правење на слајд шоу, дијаграми…

DOWNLOAD ( 1,31 MB )

Архива

јули 2010
П В С Ч П С Н
« јун    
 1234
567891011
12131415161718
19202122232425
262728293031  
BoomTV -ТВ Препораки