Okhelp.cz

Recepty, články, nápady, programování. Dříve dum-zahrada, finance, internet a know-how.okhelp.cz Pro lepší výsledky hledání používejte i diakritiku.

Map TreeMap key value pair sort by value Java Android example

Map TreeMap sorted by value Java Android example.

MainClass.java


import java.util.Comparator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.SortedSet;
import java.util.TreeMap;
import java.util.TreeSet;

public class MainClass {
	public static void main(String[] arg) {

		// english;germany dictionary
		String[] arrayOfString = { "one;eine", "two;zwei", "three;drei",
				"four;vier" };

		Map<String, String> map = new TreeMap<String, String>();

		for (String s : arrayOfString) {
			String[] array = s.split(";");
			String sKey = "", sValue = "";
			if (array.length > 1) {
				sKey = array[0];
				sValue = array[1];
				map.put(sKey, sValue);
			}
		}
		for (Entry<String, String> entry: mapSortedByValues(map)) {
		    System.out.println(entry.getKey() + " = " + entry.getValue());
		}
	}

	static <K, V extends Comparable<? super V>> SortedSet<Map.Entry<K, V>> mapSortedByValues(
			Map<K, V> map) {
		SortedSet<Map.Entry<K, V>> sortedSetOfEntries = new TreeSet<Map.Entry<K, V>>(
				new Comparator<Map.Entry<K, V>>() {
					@Override
					public int compare(Map.Entry<K, V> entry_1, Map.Entry<K, V> entry_2) {
						int res = entry_1.getValue().compareTo(entry_2.getValue());
						return res != 0 ? res : 1; 
						// return entry_1.getValue().compareTo(entry_2.getValue());							
					}
				});
		sortedSetOfEntries.addAll(map.entrySet());
		return sortedSetOfEntries;
	}
}
/*
three = drei
one = eine
four = vier
two = zwei
 */


396LW NO topic_id




AD

Další témata ....(Topics)


341

Android Studio add library dependencies to module project | android-studio-add-library-dependencies-to-module-project



  1. File->Project Structure Ctrl + Alt + Shift + S


  2. Select module and Dependencies Tab


  3. Click on + PLUS button (right upper corner)


  4. Select library


  5. Click OK, OK





android/android-studio-add-library-into-project.png
375

4. Fragments Tutorial ArticleFragment.java – Czech language | 4-fragments-tutorial-articlefragment-java-czech-language


Dil 4. ArticleFragment.java
V 1. dílu jsme se něco dozvěděli od XML souborech a typu procesoru pro správný běh Android Studia a emulátoru různých typů zařizení s Androidem.
V 2. dílu jsme rozebrali MainActivity.java
V 3. dílu jsme se zabývali HeadlinesFragment.java


V tomto dílu se podíváme na ArticleFragment.java soubor.
Používáme příklad i zip porojekt z https://developer.android.com/training/basics/fragments/creating.html Pozorně si jej nastudujte.




package com.example.android.fragments;
// knihovna pro nižší verze Androidu
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
// extends Fragment - už nebude obsahovat funkci onCreate jako v Activity
// ale onCreateView
public class ArticleFragment extends Fragment {
    // důležité pro uložení argumentu - argumentů (hodnot)
	// pro obnovení předchozího stavu obsahu obrazovky
	// např. při rotaci zařízení atd.
	final static String ARG_POSITION = "position";
    int mCurrentPosition = -1;

TextView article; // uložen do globální proměnné, v originale
// odchycen v updateArticleView() ale tam vracel NULL

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) {

		// Když je activity znovu vytvořena (např. při rotaci zařízení),
		// obnoví, v našem případě, text článku, jehož pozice 
		// byla uložena pomocí
        // public void onSaveInstanceState(Bundle outState) viz níže
		// důležité zejména pro dual-panel (dva panely vedle sebe)
        if (savedInstanceState != null) {
            mCurrentPosition = savedInstanceState.getInt(ARG_POSITION);
        }

// umístíme, aktivujeme příslušný layout
// zde je zajímavé, že layout můžete měnit.
// Např. při kliknutí na pložku 1 v HeadlinesFragment
// zde můžete ochytit pozici a dle toho zvolit 
// příslušný layout, který chcete zobrazit ve fragmentu 
// ALE pak si musíte pohlídat ID prvků, které bude ten JINÝ
// layout obsahovat

// Oproti originalu odchytíme TextView již zde, v originalu to vyhazovalo chybu 
 View rootView = inflater.inflate(R.layout.vnitrek, container, false);
        article = (TextView) rootView.findViewById(R.id.article);		
        return rootView;
    }

    @Override
    public void onStart() {
        super.onStart();
// Při startu fragmentu, zkontrolujte, zda existují nějaké argumenty 
// předané do fragmentu.
// OnStart() je právě to správné místo, kde to udělat, 
// protože layout s jednotlivými elementy byl již         
// naloděn - aktivován, a můžeme bezpečně použít metody,         
// které potřebují, aby jednotlivá ID elementů layoutu byla již          
// aktivní, použitelná	a nevracela NULL, což by mělo za následek
// pád aplikace	
		
        Bundle args = getArguments();
        if (args != null) {
			// vypsaní obsahu článku pomocí předaného argumentu (pozice) z HeadlinesFragment.java
            updateArticleView(args.getInt(ARG_POSITION));
        } else if (mCurrentPosition != -1) {
			// vypsání článku dle pozice uložené např. při rotaci zařízení
			// mCurrentPosition je definována (odchycena) v onCreateView
            updateArticleView(mCurrentPosition);
        }
    }
/** 
funkce která vypíše obsah článku do TextView. 
Jako parametr int position je pozice položky, 
na kterou bylo kliknuto v ListView v HeadlinesFragment.java
*/
    public void updateArticleView(int position) {
		// na rozdíl od Activity se ve Fragment používá k 
		// získání id ne jen findViewById() 
		// ALE getActivity().findViewById() 
//Tento kod vracel article == NULL , PROTO bylo nutno odchytit TextView
// v onCreateView()
        //TextView article = (TextView) getActivity().findViewById(R.id.article);
        
// vložení textu článku do TextView z Ipsum.java
		// je to pole stringů, kde position je pozice stringu v poli
		// static String[] Articles = {"","",""};
      if (article != null)
                article.setText(Ipsum.Articles[position]);
		
        mCurrentPosition = position;
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);

		// Uložení pozice článku - elementu, či jiných argumentů důležitých
		// pro obnovení stavu v onCreateView() např. při rotaci zařízení
        outState.putInt(ARG_POSITION, mCurrentPosition);
// TIP: zde můžeme vždy při rotaci zařízení podstrčit náhodnou pozici
// článku pomocí
// randomNum = minimum + (int)(Math.random() * maximum);
// a vytvořit tak zábavnou hru, například pro náhodné
// vypsání přísloví, či nějakého fyzikálního zákona atd.
// Stačí pak aby uživatel jen pootočil zařízení od 90° a zpět,
// k vypsání nové položky
    }
}
383

ArrayList Sublist Join Compare Loop Synchronize HashMap Sort Tree | arraylist-sublist-join-compare-loop-synchronize-hashmap-sort-tree


48

How quickly restart adb.exe ADB server Android emulator example | how-quickly-restart-adb-exe-adb-server-android-emulator-example


Create file restartADB.bat in folder
c:\Program Files\Android\android-sdk-windows\platform-tools\
Write into restartADB.bat this code:

adb kill-server && adb start-server
pause

Save restartADB.bat file.
If you want restart adb.exe server, run restartADB.bat by double click on icon.


Next example:

  1. Open Total Commander

  2. Open folder with adb.exe usually in
    c:\Program Files\Android\android-sdk-windows\platform-tools\

  3. Put into command line command: adb kill-server && adb start-server and press Enter



[caption id="attachment_778" align="alignleft" width="300" caption="ADB server restart by command line"]android/adb-restart-server-android-emulator-300x188.png[/caption]

Try restart ADB if this or similar errors:
Emulator] emulator: emulator window was out of view and was recentred



120

Statistics usability of mobile phones with Android – October 2011 | statistics-usability-of-mobile-phones-with-android-%e2%80%93-october-2011


Table of usability phones with Android: (Our software)












October 2011 September 2011












Samsung Galaxy S2 10,90%
Samsung Galaxy S 8,10%
Samsung Galaxy Tab 7,00%
Samsung Galaxy Mini 6,20%
HTC Desire HD 4,10%
Samsung Galaxy Ace 4,10%
Samsung Galaxy S 4,00%
Samsung Galaxy Fit 3,30%
HTC Wildfire 3,20%
SEMC Xperia X10 2,20%

























Samsung Galaxy S213.8%
Samsung Galaxy S8.5%
Samsung Galaxy Tab7.4%
Samsung Galaxy Mini5.4%
Samsung Galaxy S4.0%
HTC Desire HD3.8%
Samsung Galaxy Ace3.8%
HTC Wildfire3.2%
Samsung Galaxy Fit3.1%
SEMC Xperia X102.1%



Graph of usability Smartphone with Android - October 2011:
android/phones-usability-wiht-android-october-2011.png


Samsung Galaxy S2 vs iPhone4 - video


Samsung Galaxy S2 vs iPhone4 - browsing, gaming, apps, performance, browser, fast, against, navigation, Sygic, apk, Android, iOS