Как я могу повернуть дисплей только в ландшафтном режиме в Android?

Я хочу, чтобы мой вид вращался только в альбомном режиме, по и против часовой стрелки.

Я читал о единственном против часовой стрелки для android <2.2, и это не проблема, мое приложение пока будет +2,2.

Я изменяю свой манифест, чтобы уловить изменения конфигурации

android:configChanges="keyboardHidden|orientation"

Я переопределяю свои действия, чтобы уловить изменения конфигурации

@Override
public void onConfigurationChanged(Configuration newConfig) {

, и я знаю, как улавливать ориентацию

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int rot = display.getRotation();

, но ... я не знаю, как активировать подходящую альбомную ориентацию , Я делаю это: int main () {int * p, * q; p = (int *) malloc (sizeof (int)); * р = 10; q = p; printf ("% u \ n", p); ...

Пробовал следующий код:

#include<stdio.h>
int main()
{        
        int *p,*q;
        p = (int *)malloc(sizeof(int));
        *p =10;
        q = p;
        printf("%u \n",p);
        printf("%u \n",q);
        free(p);
        printf("%u \n",p);
        return 0;
}

Полученный результат выглядит следующим образом:

[root@lnxdesk Tazim]# ./a.out
154804232
154804232
154804232

Почему этот адрес внутри p все еще печатается, даже если я выполнил free (p); ? Что тогда сделал free (p) ?

Я хочу четко понять концепцию free / malloc. Любая помощь будет ценна.

5
задан jschmier 21 March 2011 в 15:21
поделиться